我绘制了几条曲线,如下所示:
import numpy as np
import matplotlib.pyplot as plt
plt.plot(x, y)其中x和y是二维的(对于本例来说,假设是N x 2)。
现在我想单独设置每条曲线的颜色。我试过这样的东西:
plot(x, y, color= colorArray)例如colorArray= ['red', 'black'],但无济于事。对于其他选项(线条样式、标记等)也是如此。
我知道这可以通过一个for循环来完成。但是,由于此plot命令接受多维x/y,因此我认为还可以以这种方式指定绘图选项。
有可能吗?这样做的正确方法是什么?(我在搜索时找到的所有东西都有效地使用了循环)
发布于 2013-06-18 22:20:44
您可以使用ax.set_color_cycle
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(2013)
N = 10
x, y = np.random.random((2,N,2))
x.cumsum(axis=0, out=x)
y.cumsum(axis=0, out=y)
fig, ax = plt.subplots()
colors = ['red', 'black']
ax.set_color_cycle(colors)
ax.plot(x,y)
plt.show()收益率

发布于 2013-06-18 22:15:20
我会按照你正在做的方式绘图,然后根据你的colorArray做一个for循环来改变颜色
plt.plot(x,y)
for i, line in enumerate(plt.gca().lines):
line.set_color( colorArray[i] )发布于 2013-06-18 22:15:59
在执行此操作时,我通常会传递一维数组,如下所示:
plot(x[0], y[0], 'red', x[1], y[1], 'black')https://stackoverflow.com/questions/17171122
复制相似问题