1

这应该很容易,但我还没有掌握 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)

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

4

3 回答 3

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)

也可以。

于 2012-11-14T15:26:02.797 回答
1

放下,:...

color = colors[0]
于 2012-11-14T15:27:14.887 回答
0

只需这样做:

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

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

于 2012-11-14T15:28:25.347 回答