0

我可能遗漏了一些明显的东西。我正在使用单个调用绘制矩阵列中包含的数据

plot(x,A)

其中 isx是一个 1D numpy arange,长度等于 A 的行数。此生成的线图都是全线,颜色循环通过 matplotlib.rc 中设置的默认颜色循环

我知道我可以修改颜色循环(甚至可以为所有列使用单一颜色和线型)。但是,我怎样才能只循环线条样式(比如通过完整、虚线、点划线、点线)而不是颜色(我想保持黑色)并且仍然保持简单的 SINGLE 绘图调用?

plot(x,A,['k-','k--','k-.','k:']) 

不起作用。

4

1 回答 1

0

相关来源在class _process_plot_var_args()axes.py,如您所见,仅定义了颜色循环。类似的线型循环是不可能的。

因此我们需要做这些:

A=range(10)
B=np.random.randn(10,12)
p_list=plt.plot(A, B)
line_cycle=['-','--','-.',':']
_=[l.set_linestyle(st) for l, st in zip(p_list, np.repeat(line_cycle, 1+(len(p_list)/len(line_cycle))))]

在此处输入图像描述

于 2014-04-11T01:42:36.400 回答