【发布时间】:2021-04-25 19:51:24
【问题描述】:
我有一个 seaborn 条形图,上面画了一条线,如下所示:
如您所见,在添加线后出现的绘图上有较厚的边距。如果不添加线,绘图看起来很正常:
plt.margins() 不起作用,基本上会破坏整个图形。不知道为什么。我没有在sns.set() 中尝试额外的 rc-settings,因为我找不到列出所有选项的页面,所以如果有人也可以链接它,我可以将它加入书签,将不胜感激。
条形图是通过以下方式创建的:
sns.set(rc={'figure.figsize': (50, 10), 'axes.labelsize': 25, 'ytick.labelsize': 17, 'axes.labelpad': 15, 'legend.fontsize': 20})
fig, ax1 = plt.subplots()
g = sns.barplot(x='City/Town', y="Value", hue="Metric", data=df, ax=ax1)
g.set_title(title, fontsize=30)
fig.autofmt_xdate()
并且该行添加了:
ax1.plot(range(len(X)), df.Y_pred[df['Metric'] == bar1]*scale, color='red')
其中 X 和 Y 是 numpy ndArrays,而 scale 只是一个 int。
【问题讨论】:
-
@JohanC 这不起作用。我有
fig.autofmt_xdate(),因为它修复了 x 轴间距。没有它,许多 x-label 会重叠并变得不可读(这在此图上不是一个大问题,因为它们几乎不可读,但该图是可交互的,并且如果用户愿意,可以显示更少的条目)。
标签: python matplotlib seaborn