例如,我正在构造很多条相同样式的条形图。
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_style('darkgrid')
# some more configuration options that work as expected here
sns.barplot([1, 2, 3], [4, 5, 6], edgecolor='k')
给出
是否可以将绘图环境配置为始终使用edgecolor='k'
,这样我就不必每次都传递参数了?
我尝试过
sns.set_style(rc={'patch.force_edgecolor':True})
但是没有效果。如果我在绘制时未明确使用edgecolor='k'
,则条形图没有边。
我还注意到有
plt.rc('edgecolor', ???)
但是我无法弄清楚???
要传递什么(它必须是关键字参数)。
编辑:
使用
sns.set_style(rc={'patch.force_edgecolor':True})
不起作用,但是使用
sns.set_style(rc={'patch.force_edgecolor':True,
'patch.edgecolor': 'black'})
按预期工作。我不明白为什么这里需要'patch.edgecolor': 'black'
,因为这似乎是默认设置。
答案 0 :(得分:2)
使用patch
,如下所示:
plt.rcParams['patch.edgecolor'] = 'black'
您也可以这样做:
plt.rc('patch', edgecolor='black')
答案 1 :(得分:0)
我现在可以解释sns.set_style
出了什么问题。
sns.set_style('darkgrid')
将'patch.edgecolor'
设置为'w'
,这就是为什么必须再次将其手动设置为'black'
的原因。