更改单个绘图内的点的颜色

时间:2014-04-01 08:05:02

标签: python colors matplotlib plot

我遇到了python的问题...

我想要绘制一堆积分;另外我想连续改变点的颜色。例如:

x = range(10)
y = range(10)
plot(x,y,'.')

第一个点是深蓝色,第二个点有点淡,等等...... 作为第一步,我尝试将不同的灰度传递给函数,但是引发了错误“无法将字符串转换为浮点数”......传递了什么样的变量?我该如何避免错误?

for i in range(10):
    plot(x,y,'i*0,1')

提前感谢您帮助我。我在网上找不到任何东西,但我觉得这对很多人来说都很方便......

1 个答案:

答案 0 :(得分:1)

尝试使用scatter而不是plot

x = range(10)
y = range(10)
plt.scatter(x,y,s=60,c=x,cmap=plt.get_cmap('seismic'))

seismic_colormap

c关键字参数指定应将哪些值映射到颜色。我刚刚在这里使用了x值,但你可以使用相同长度的任何数组。 cmap关键字参数指定如何将值映射到颜色。您可以在此处查看其他一些色彩映射:http://matplotlib.org/examples/color/colormaps_reference.html

您也可以使用不同的色彩映射:

plt.scatter(x,y,s=60,c=x,cmap=plt.get_cmap('spectrum'))

spectrum_colormap