首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何统一hist2d子图的颜色条?

如何统一hist2d子图的颜色条?
EN

Stack Overflow用户
提问于 2022-01-07 20:35:13
回答 2查看 88关注 0票数 1

我使用hist2d函数在matplotlib中创建了一个多子图。每个子图显示不同范围的数据,第四个子图显示所有其他子图的和。

一切都是完美的,除了颜色栏没有统一所有的子情节.我看到,解决这个问题的所有解决方案都需要将数据转换为图像(例如imshow),这确实使我的计划变得一团糟。

我希望情节保持原样,只需改变颜色。有人知道怎么做吗?

谢谢:-)

EN

回答 2

Stack Overflow用户

发布于 2022-01-07 22:43:48

我对这个主题做了更多的研究,似乎vmin和vmax毕竟是解决方案。

如果你用这种方式写代码-

代码语言:javascript
运行
复制
 hist = ax.hist2d(x, y, bins=(500, 200), norm= LogNorm(vmin=min_value, vmax= max_value))

然后你就可以控制你的阴谋的边界了。如果您循环遍历所有的子图,您可以将这个vmin和vmax配置为所有它们-所以比例颜色是一致的!

为了让你的vmin和vmax运行这个代码-

代码语言:javascript
运行
复制
vmin, vmax = hist[-1].get_clim()
票数 2
EN

Stack Overflow用户

发布于 2022-08-15 02:51:53

以下是最简单的方法:

代码语言:javascript
运行
复制
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))
b=ax1.hist2d(x_b, y_b, bins =[x_bins, y_bins], cmap='Blues')

ax1.set_xlim([-130.05, -129.95])
ax1.set_ylim([45.90, 46])
ax1.set_yticks([45.90, 45.925, 45.95, 45.975, 46])
ax1.set_xticks([-130.05, -130.025, -130, -129.975, -129.95])
cb1=plt.colorbar(b[3], ax=ax1, shrink=0.80)
cb1.set_label('Observations/day', fontsize=10)
ax1.set_ylabel('Latitude', fontsize=10)
ax1.set_xlabel('Longitude', fontsize=10)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70626880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档