我已经完成了用于准备图的python脚本。.我使用debian来准备它,其中matplot lib的版本是2.1.1,而现在我要移至Archlinux,使用2.2.2的版本。 ,问题是在2.1.1中,我以这种方式定义了所有参数(例如,循环颜色):
plt.rc_context({ 'axes.prop_cycle': cycler('color', ['#8DA0CB', '#E78AC3', '#A6D854', '#FFD92F', '#E5C494', '#B3B3B3', '#66C2A5', '#FC8D62'] )})
在2.2.2中,我找到了此解决方案:
plt.rc('axes', prop_cycle=(cycler('color', ['#8DA0CB', '#E78AC3', '#A6D854', '#FFD92F', '#E5C494', '#B3B3B3', '#66C2A5', '#FC8D62'])))
问题是我已经定义了所有以下参数:
plt.rc_context({'axes.edgecolor': self.parameter['box'] }) # BOX colors
plt.rc_context({'axes.linewidth':'1.2' }) # BOX width
plt.rc_context({'axes.xmargin':'0' })
plt.rc_context({'axes.ymargin':'0' })
plt.rc_context({'axes.labelcolor':self.parameter['axeslabel']})
plt.rc_context({'axes.axisbelow':'True' })
plt.rc_context({'xtick.color': self.parameter['xtickcolor']}) # doesn't affect the text
plt.rc_context({'ytick.color': self.parameter['ytickcolor']}) # doesn't affect the text
#plt.rc_context({ 'axes.prop_cycle': self.colors('tthmod')})
plt.rc_context({ 'axes.prop_cycle': cycler('color', ['#8DA0CB', '#E78AC3', '#A6D854', '#FFD92F', '#E5C494', '#B3B3B3', '#66C2A5', '#FC8D62'] )})
plt.rc_context({ 'grid.linestyle': '--'})
plt.rc_context({ 'grid.alpha': '1'})
#plt.rc_context({ 'grid.color': '#E5E5E5'})
plt.rc_context({ 'grid.color': '#FFFFFF'})
在哪里可以找到解决方案?我的意思是一种让我们以“我的方式”工作或如何更改语法以获得相同结果的方法!谢谢
编辑非语言版本(2.1.1版)的las cia che qualcosa sia cambiato !!
答案 0 :(得分:1)
一次指定许多rc参数的可能方法是使用字典并用其更新matplotlib.rcParams
。
import matplotlib.pyplot as plt
from cycler import cycler
myparams = {'axes.edgecolor': "red", # BOX colors
'axes.linewidth': 1.2, # BOX width
'axes.xmargin': 0,
'axes.ymargin': 0,
'axes.labelcolor': "crimson",
'axes.axisbelow': True,
'xtick.color': "blue", # doesn't affect the text
'ytick.color': "gold", # doesn't affect the text
'axes.prop_cycle': cycler('color', ['#8DA0CB', '#E78AC3', '#A6D854', '#FFD92F', '#E5C494', '#B3B3B3', '#66C2A5', '#FC8D62']),
'grid.linestyle': '--',
'grid.alpha': '1',
'grid.color': '#E5E5E5'}
plt.rcParams.update(myparams)
如果您想使用上下文,则可以这样做
with plt.rc_context(myparams):
plt.plot([1,2,3])
无论如何,在上下文之外使用plt.rc_context
可能并没有太大意义。