我想绘制一些数据,通过测量获得每个与他们的适合。 我会在每张图上绘制6个测量图,但我希望每个测量数据图都具有与其拟合相同的颜色。从一个测量数据图到下一个我需要matplotlib的defalut颜色循环。pyplot.plot()修改线条颜色循环
首先,如果加载以下数据:
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
data1 = np.genfromtxt('data1.txt')
fit1 = np.genfromtxt('fit1.txt')
...
那么问题,我当然可以重新定义颜色顺序rcParams,如下所示:
ColourSeq = []
ColourSeqOriginal = mpl.rcParams['axes.color_cycle']
for ind in range(len(ColourSeqOriginal)):
ColourSeq.append(ColourSeqOriginal[ind])
ColourSeq.append(ColourSeqOriginal[ind])
mpl.rcParams['axes.color_cycle'] = ColourSeq
但这种看似复杂。
最简单的事情似乎是:
plt.figure()
plt.plot(xdata, data1, xdata, fit1, '???')
plt.plot(xdata, data2, xdata, fit2, '???')
plt.plot(xdata, data3, xdata, fit3, '???')
'???'作为命令选项,我不知道是否存在会阻止plt.plot递增给定数据的颜色值的命令选项。 但从一个plt.plot()调用到下一个,我需要有正常的颜色增量。
有趣的一点是,matplotlib使用itertools.cycle()来遍历rcParams中的默认颜色。 – Phil
@ user1850133确实,谢谢。你也可以通过界面建议编辑(你得到它的代表)。 – tacaswell
只要我发布我的评论,我发现你通过添加缺少的'in'来纠正你的帖子,所以我删除了我的评论。下次我会继续。 – user1850133