我有一个简单的Seafant FacetGrid(),里面有条形图。
我将tight_layout()应用于最终绘图,因为旋转后xticks必须正确放置在绘图上。结果,当我想将标题添加到绘图中时,它实际上位于现有轴上的错误位置。
因此,我的问题是,在应用tight_layout()的情况下,应如何对标题进行适当的定位?
我用标准技巧数据集重现了该问题:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
days_dict = {day:day+', a long name' for day in tips['day'].unique()}
tips['day_long'] = tips['day'].map(lambda x: days_dict[x])
grid = sns.FacetGrid(tips,col='size',col_wrap=3,height=4,sharex=False)
grid.map(sns.barplot, 'day_long', 'total_bill').set_titles('{col_name}')
grid.fig.set_size_inches(10,10)
grid.fig.suptitle('Title (it should be placed higher)',fontsize=16)
for ax in grid.axes.flat:
for label in ax.get_xticklabels():
label.set_rotation(90)
plt.tight_layout()
plt.show()
添加(根据您的口味调整价值)
grid.fig.subplots_adjust(top=0.90)
在tight_laout()
地块顶部腾出一些空间suptitle()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句