matplotlib 为什么当运行plyplot.scatter时,散点图上的颜色是黑色和黄色,其中c等于一个1和0的列表?

yi0zb3m4  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(148)

下面的代码打印出黑色和黄色圆圈的散点图:

import matplotlib.pyplot as plt
           
x = [65,70,30,80,20,90,10,10,5,85]
y = [30,20,60,10,70,5,80,70,70,10]
temple_type = [1,1,0,1,0,1,0,0,0,1]
    
plt.scatter(x  , y  , c=temple_type, edgecolor ="black" , s = 80)
2g32fytz

2g32fytz1#

您将收到与正在使用的颜色Map表的高值和低值相对应的颜色。默认情况下,您使用的是"viridis"色彩Map表。
您可以使用cmap参数更改colormap

import matplotlib.pyplot as plt

x = [65, 70, 30, 80, 20, 90, 10, 10, 5, 85]
y = [30, 20, 60, 10, 70, 5, 80, 70, 70, 10]
temple_type = [1, 1, 0, 1, 0, 1, 0, 0, 0, 1]

fig, (ax1, ax2)  = plt.subplots(ncols=2, figsize=(8, 4))

s1 = ax1.scatter(x, y, c=temple_type, edgecolor="black", s=80, cmap="viridis")
fig.colorbar(s1)

s2 = ax2.scatter(x, y, c=temple_type, edgecolor="black", s=80, cmap="Blues")
fig.colorbar(s2)

plt.show()

相关问题