一个色条可用于多个散点图 [英] One colorbar for multiple scatter plots

查看:36
本文介绍了一个色条可用于多个散点图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用matplotlib库在一个绘图上绘制同一变量的多个图形。我不是在寻找colorbarFOR SUBPLETS,它是主要的搜索材料。我绘制了多个scatter,但colorbar仅设置为上一次散布I绘制的值。

以下是代码的一部分:

plt.scatter(x1, y1, c=z1,cmap='viridis_r',marker='s')
plt.scatter(x2, y2, c=z2,cmap='viridis_r',marker='o')
plt.scatter(x3, y3, c=z3,cmap='viridis_r',marker='^')
plt.colorbar().set_label('Wind speed',rotation=270)

推荐答案

它需要一些额外的工作:

  • 您必须获取cs(颜色条值)中的最小值和最大值
  • 您必须clim每个散点图

先取最小值和最大值:

zs = np.concatenate([z1, z2, z3], axis=0)
min_, max_ = zs.min(), zs.max()

然后用clim

绘制散点图
plt.scatter(x1, y1, c=z1,cmap='viridis_r',marker='s')
plt.clim(min_, max_)
plt.scatter(x2, y2, c=z2,cmap='viridis_r',marker='o')
plt.clim(min_, max_)
plt.scatter(x3, y3, c=z3,cmap='viridis_r',marker='^')
plt.clim(min_, max_)
plt.colorbar().set_label('Wind speed',rotation=270)

对于非常简单的数据集:

x1, x2, x3 = [1,2,3], [2,3,4], [3,4,5]
y1 = y2 = y3 = [1, 2, 3]
z1, z2, z3 = [1,2,3], [4,5,6], [7,8,9]

这篇关于一个色条可用于多个散点图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆