Python Matplotlib:带有二维参数的绘图:如何指定选项?

tav*_*ave 4 python plot colors matplotlib

我正在绘制如下几条曲线:

import numpy as np
import matplotlib.pyplot as plt

plt.plot(x, y)
Run Code Online (Sandbox Code Playgroud)

其中xy是2维(比如说这个例子的N x 2).

现在我想独立设置每条曲线的颜色.我尝试过这样的事情:

plot(x, y, color= colorArray)
Run Code Online (Sandbox Code Playgroud)

例如colorArray= ['red', 'black'],但无济于事.其他选项(linestyle,marker等)也是如此.

我知道这可以通过一个for循环来完成.但是,由于此plot命令接受多维x/y,我认为应该也可以通过这种方式指定绘图选项.

可能吗?这样做的正确方法是什么?(我在搜索时发现的一切都是有效地使用循环)

unu*_*tbu 5

你可以使用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()
Run Code Online (Sandbox Code Playgroud)

产量 在此输入图像描述

  • 似乎没有类似的方法来循环标记或线条样式.我认为你需要[使用`for-loop`](http://stackoverflow.com/q/7799156/190597). (3认同)