在Python中从矩阵中提取行,并将该行用作Matplotlib中的颜色

时间:2012-11-14 15:21:24

标签: python matplotlib

这应该很容易,但我还没有掌握Python语法。我创建了一个这样的数组:

colors = [ [(17.0/256.0), (15.0/256.0), (48.0/256.0)],  #Dark blue  (#110F30)
         [(239.0/256.0), (83.0/256.0), (25.0/256.0)]    #Orange     (#EF5319)
         ]

我想在绘图语句中使用第一行或第二行作为颜色输入:

ax1.plot(time, temp - 273, color=colors[0,:], label=temp_axis_label)

然而,这显然不起作用(显然)。从颜色矩阵中提取行的正确语法是什么?

3 个答案:

答案 0 :(得分:2)

简单地说:ax1.plot(time, temp - 273, color=colors[0], label=temp_axis_label)

问题在于颜色是列表的列表,而不是numpy矩阵 :

colors = np.array([ [(17.0/256.0), (15.0/256.0), (48.0/256.0)],  #Dark blue  (#110F30)
         [(239.0/256.0), (83.0/256.0), (25.0/256.0)]    #Orange     (#EF5319)
         ])
ax1.plot(time, temp - 273, color=colors[0,:], label=temp_axis_label)

也有效。

答案 1 :(得分:1)

放弃,: ...

color = colors[0]

答案 2 :(得分:0)

简单地说:

ax1.plot(time, temp - 273, color=colors[0], label=temp_axis_label)

如果你熟悉matlab并想用Python进行科学计算,你也可以考虑使用numpy:http://numpy.scipy.org/