前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用手游角色给科研赋能——藿藿篇

如何使用手游角色给科研赋能——藿藿篇

作者头像
用户11172986
发布2024-06-20 16:36:00
770
发布2024-06-20 16:36:00
举报
文章被收录于专栏:气python风雨气python风雨

前言

科学研究是人类文明进步的重要推动力。然而,随着社会的发展和科技的进步,我们不禁思考,是否有一种全新的方式可以让科研更加有趣、更加具有吸引力呢?

在探索的道路上,我们或许可以借鉴手游中的角色元素,为科研注入全新的活力和激情。想象一下,如果我们能够将科研视为一场令人兴奋的冒险旅程,让每个研究者都成为其中的主角,那将是多么有趣而又富有创造力的一种方式!

将手游角色扮演的元素引入科研领域,可以激发科学家们的热情、提高研究的乐趣,并促进创新和合作。让我们一起踏上这场奇妙的科研冒险之旅,成为科学界的高级玩家吧!

免责声明:本文为整活类,不代表任何真实的观点或建议。请勿将此文与科研实际应用相混淆。谢谢!

对角色立绘的像素读取与排列

代码语言:javascript
复制
代码语言:javascript
复制
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np

# 输入角色图片
img = Image.open('/home/mw/project/霍霍.png') 

# 抽取图片的像素值,创建一个numpy数组
img_array = np.array(img)

# 计算图片中各个色调范围的数目
n_bins = 100

# 从图片中采样指定数量的颜色
colors = []
for i in range(n_bins):
    r = np.random.randint(0, img_array.shape[0])
    g = np.random.randint(0, img_array.shape[1])
    b = img_array[r, g]
    colors.append((b[0]/255, b[1]/255, b[2]/255)) 

# 将颜色从冷到暖排序
colors = sorted(colors, key=lambda x: x[0]*x[1]*x[2])

# 创建颜色映射
n = len(colors)
cmap = plt.cm.colors.ListedColormap(colors)
bounds = np.linspace(0, 1, n+1)

# 创建网格
X, Y = np.meshgrid(range(10), range(10))
Z = X + Y

# 绘制填色图
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(111)
cf=plt.contourf(X, Y, Z, cmap=cmap)

# 绘制等值线
plt.contour(X, Y, Z, levels=n, colors='k', linewidths=0.5)
cb = plt.colorbar(cf, orientation='vertical', shrink=0.8)
plt.axis('off')
plt.savefig('color_ramp.png', dpi=300, bbox_inches='tight')
代码语言:javascript
复制

使用角色色卡绘制全球温度分布

代码语言:javascript
复制
import xarray as xr
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np


import cartopy.feature as cfeature
import cartopy.crs as ccrs
import cartopy.mpl.ticker as cticker
from cartopy.util import add_cyclic_point


# 打开数据集
nc = xr.open_dataset('/home/mw/input/1107125177/2023110720.nc')
data = nc.t[0, 2, :, :]
lons = data.longitude
lats = data.latitude


fig = plt.figure(figsize=(11, 8.5))


# 设置地图投影为PlateCarree
ax = plt.axes(projection=ccrs.PlateCarree())


# 绘制填充等值线图
cs = ax.contourf(lons, lats, data,
                 transform=ccrs.PlateCarree(), cmap=cmap, levels=np.arange(230, 280, 5), extend='both')


# 添加海岸线
ax.coastlines()


# 设置经度刻度线
ax.set_xticks(np.arange(-180, 181, 60), crs=ccrs.PlateCarree())
lon_formatter = cticker.LongitudeFormatter()
ax.xaxis.set_major_formatter(lon_formatter)


# 设置纬度刻度线
ax.set_yticks(np.arange(-90, 91, 30), crs=ccrs.PlateCarree())
lat_formatter = cticker.LatitudeFormatter()
ax.yaxis.set_major_formatter(lat_formatter)


# 添加颜色条
cbar = plt.colorbar(cs)


# 在此处添加中文注释
plt.title('温度分布图')  # 图片标题
plt.xlabel('经度')  # x轴标签
plt.ylabel('纬度')  # y轴标签


# 显示图形
plt.show()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气python风雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 对角色立绘的像素读取与排列
  • 使用角色色卡绘制全球温度分布
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档