代码之家  ›  专栏  ›  技术社区  ›  Baptiste

Matplotlib-使用plt.errorbar为数据集的每个点指定颜色

  •  1
  • Baptiste  · 技术社区  · 3 月前

    我想用误差条绘制一个数据集,每个点都有不同的颜色。

    我尝试了以下方法(如果我使用plt.scatter,它会起作用)

    colors = np.array(['blue','red','orange','orange','green','green'])
    
    plt.figure()
    plt.errorbar(position,cd,yerr=error,c=colors)
    plt.show()
    

    但这段代码给了我错误:“ValueError:array(['blue','red','orange','orange','green','green'],dtype='<U6')不是有效的颜色值”

    有人知道如何解决这个问题吗?

    非常感谢!

    1 回复  |  直到 3 月前
        1
  •  0
  •   Sharim09    3 月前

    如果你只想给不同的颜色 errorbar 行,而不是使用 color (c) 参数使用 ecolor 论点

    ecolorcolor,默认值:无

    错误条线的颜色。如果“无”,请使用连接标记的线的颜色。

    colors = np.array(['blue', 'red', 'orange', 'orange', 'green', 'green'])
    plt.figure()
    plt.errorbar(position, cd, yerr=error, ecolor=colors)
    plt.show()
    
    

    [![在此处输入图像描述][2]][2]


    如果您还想更改点和错误线的颜色,那么您可以使用以下代码

    
    plt.figure()
    for i in range(len(position)):
        plt.errorbar(position[i], cd[i], yerr=error[i], ecolor=colors[i], fmt="o", capsize=5)
    plt.show()
    

    enter image description here