我想繪製一些數據,通過測量獲得每個與他們的適合。 我會在每張圖上繪製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