Matplotlib颜色图图例

时间:2018-09-04 22:06:37

标签: python matplotlib

我要绘制一系列曲线,并绘制一些曲线变量(线宽,线型等),这些变量对应于可区分所绘制事物的值。我希望将颜色图应用于曲线,以使其颜色对应于其绘制的值的减小的卡方。这些曲线与吐出大量信息的模型相关,我只想以简洁的方式显示尽可能多的信息。

我已经能够将'PiYG'matplotlib颜色图中的颜色映射到每行的减少的卡方值(在use matplotlib color map for color cycle的帮助下),但是我想为颜色图,“ PiYG”中的白色对应于1(因为这是比较减少的卡方值的重要数字)。这似乎是不可能的,因为plt.plot没有'cmap'参数。

下面是我要获取的图(没有颜色图图例的图),下面是我要做的。线条的颜色与我想要的比例还不对应。实际上,我不确定100%现在的颜色比例尺是多少。

关于如何实现此目标的任何建议?

ff_08 = np.array(['some numbers'])
freq = np.array(['some numbers as well'])

plt.figure(figsize=(10, 10))

#code snippet from stack overflow link above
import cycler
color = plt.cm.PiYG(lw_list)
plt.rcParams['axes.prop_cycle'] = cycler.cycler('color', color)

#ls_list and la_list don't necessarily matter for this question
#they're just lists of values to differentiate the curves further
for i in range(0, len(ff_08)):
    plt.plot(freq, ff_08[i], color=color[i], ls = ls_list[i], label=la_list[i])

#housekeeping stuff that doesn't matter for this question
plt.xlabel('Frequency [GHz]', fontsize=25)
plt.ylabel('Free-free Fraction', fontsize=25)
plt.xscale('log')
plt.xlim([1e-1, 1e3])
plt.legend(loc='upper left', frameon=False, fontsize=15)

0 个答案:

没有答案