【问题标题】:Changing the colour of the points inside a single plot更改单个图中点的颜色
【发布时间】:2026-02-17 13:45:01
【问题描述】:

我遇到了 python 的问题...

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

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

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

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

提前感谢您帮助我。我没有在网上找到任何东西,但我认为这对很多人来说非常方便......

【问题讨论】:

    标签: python colors matplotlib plot


    【解决方案1】:

    尝试使用scatter 而不是plot

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

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

    您也可以使用不同的颜色图:

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

    【讨论】: