我想绘制一些通过测量获得的数据,每个数据都适合。我将在每个图上绘制 6 个测量值,但我希望每个测量数据图都具有与其拟合相同的颜色。从一个测量数据图到下一个我想要 matplotlib 的默认颜色循环。
首先,如果加载的数据如下:
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() 调用到下一次,我需要正常的颜色增量。