Python中的散点图和颜色映射

Python中的散点图和颜色映射,第1张

Python中的散点图和颜色映射

这是一个例子

import numpy as npimport matplotlib.pyplot as pltx = np.random.rand(100)y = np.random.rand(100)t = np.arange(100)plt.scatter(x, y, c=t)plt.show()

在这里,您可以根据索引设置颜色,该索引

t
只是的数组
[1, 2, ..., 100]


也许一个更容易理解的例子稍微更简单

import numpy as npimport matplotlib.pyplot as pltx = np.arange(100)y = xt = xplt.scatter(x, y, c=t)plt.show()

请注意,您传递的数组

c
不需要具有任何特定的顺序或类型,即,不需要像这些示例中那样进行排序或整数。绘图例程将缩放颜色图,以使最小值/最大值
c
对应于颜色图的底部/顶部。

色彩图

您可以通过添加来更改颜色图

import matplotlib.cm as cmplt.scatter(x, y, c=t, cmap=cm.cmap_name)

导入

matplotlib.cm
是可选的,因为您也可以调用颜色图
cmap="cmap_name"
。有一个颜色图的参考页,显示每个图的外观。还知道您可以通过简单地将其称为来反转颜色图
cmap_name_r
。所以要么

plt.scatter(x, y, c=t, cmap=cm.cmap_name_r)# orplt.scatter(x, y, c=t, cmap="cmap_name_r")

将工作。例如

"jet_r"
cm.plasma_r
。这是新的1.5颜色图viridis的示例:

import numpy as npimport matplotlib.pyplot as pltx = np.arange(100)y = xt = xfig, (ax1, ax2) = plt.subplots(1, 2)ax1.scatter(x, y, c=t, cmap='viridis')ax2.scatter(x, y, c=t, cmap='viridis_r')plt.show()
彩条

您可以使用添加色条

plt.scatter(x, y, c=t, cmap='viridis')plt.colorbar()plt.show()

请注意,如果要显式地使用图形和子图(例如

fig, ax = plt.subplots()
ax =fig.add_subplot(111)
),则添加颜色条可能会更加复杂。可以在此处找到单个子图颜色条的良好示例,在此处为2个子图1个颜色条找到良好的示例。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5096300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存