在matplotlib中打印矩阵列时在线型列表中循环
我可能遗漏了一些明显的东西。我正在使用在matplotlib中打印矩阵列时在线型列表中循环,matplotlib,plot,linestyle,Matplotlib,Plot,Linestyle,我可能遗漏了一些明显的东西。我正在使用 plot(x,A) 其中,isx是长度等于a的行数的1D numpy arange。 此生成的线图都是完整的线,颜色循环通过matplotlib.rc中设置的默认颜色循环 我知道我可以修改颜色循环(甚至可以对所有列使用单一颜色和线型)。然而,我怎样才能只循环线条样式(比如通过完整、虚线、虚线、虚线)而不循环颜色(我想保持黑色),并且仍然保持简单的单点打印调用 plot(x,A,['k-','k--','k-.','k:']) 不起作用。相关源位于ax
plot(x,A)
其中,isx
是长度等于a的行数的1D numpy arange。
此生成的线图都是完整的线,颜色循环通过matplotlib.rc中设置的默认颜色循环
我知道我可以修改颜色循环(甚至可以对所有列使用单一颜色和线型)。然而,我怎样才能只循环线条样式(比如通过完整、虚线、虚线、虚线)而不循环颜色(我想保持黑色),并且仍然保持简单的单点打印调用
plot(x,A,['k-','k--','k-.','k:'])
不起作用。相关源位于
axes.py中的类\u进程\u绘图\u var\u args()
,如您所见,仅定义了颜色循环。类似的线型循环是不可能的
因此,我们需要做到以下几点:
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))))]
thx!也很高兴教我如何使用作业。这是一种保持生成器表达式紧凑性的好方法,而不会创建不必要的变量。我不知道这一点。密切相关:(通过颜色和线条组合循环)