Python matplotlib绘制具有不同颜色的数组

时间:2011-08-17 12:37:06

标签: python plot matplotlib

我有一个文件,它结合了不同来源的数据集,但保留了通用格式。 我想用不同的颜色绘制这些来表示数据集的不同来源。 例如,数据文件中的几行如下所示:

# Source measurement1 measurement2 error color
SiteA  543.2 12.3 0.01 blue
SiteB  545.6 12.5 0.02 red
SiteA  545.9 12.9 0.01 blue
SiteC  549.1 13.2 0.01 orange
SiteB  550.4 13.3 0.02 red
...

目前我做了一个for循环并绘制每个点:

for point in data:
   plt.errorbar(measurement1,measurement2,yerr=error, marker='.', ecolor='k', fmt=color, linestyle='.')

这会单独绘制每个点,但对于大型数据阵列可能需要很长时间。

有人能建议更快的方式吗?

1 个答案:

答案 0 :(得分:2)

如果您没有太多颜色,您应该能够通过绘制颜色组来加快速度,即为每种颜色调用pyplot.errorbar()一次。使用列表推导将数据分组为颜色组,并为measurement1,measurement2等提供列表或数组,而不是标量。