这是一个例子
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个颜色条找到良好的示例。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)