dee*_*nes 2 python plot matplotlib seaborn
我正在尝试绘制带有无边界条的条形图。默认情况下,条具有黑色细边框。在Seaborn的开发版本(0.6)中,我可以将kwargs(linewidth,edgecolor)传递给pyplot.bar()via seaborn.barplot(),但是在当前版本(0.5.1)中,此功能似乎尚不可用。看着返回的AxesSubplot对象,尽管有很多方法,我找不到将线宽设置为零或将颜色设置为完全透明的方法,所以我仍然希望有一种方法可以实现这一点。
import matplotlib.pyplot as plt
import seaborn as sns
fig, ax = plt.subplots()
ax = sns.barplot(data = data, x = 'var1', color = '#007b7f')
fig.tight_layout()
fig.savefig('fig.pdf')
Run Code Online (Sandbox Code Playgroud)
经过多次尝试都没有成功,我在这里问了这个问题,很快我自己找到了解决方案。所以这里是:在绘图之前,patch.linewidth参数可以设置为seaborn.set_context():
import seaborn as sns
sns.set_context(rc = {'patch.linewidth': 0.0})
ax = sns.barplot(...)
Run Code Online (Sandbox Code Playgroud)
这也将起作用:
fig, ax = plt.subplots()
ax = sns.barplot(data = data, x = 'var1', color = '#007b7f')
plt.setp(ax.patches, linewidth=0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5567 次 |
| 最近记录: |