簡體   English   中英

如果應用了tight_layout,如何在seaborn.FacetGrid 中重新定位標題?

[英]How to reposition title in seaborn.FacetGrid if tight_layout is applied?

我有一個簡單的 seaborn FacetGrid() ,里面有條形圖。

我對我的最終圖應用了tiny_layout() ,因為旋轉后 xticks 必須正確定位在圖上。 結果,當我想將標題添加到繪圖時,它被定位在錯誤的位置,基本上是在現有軸上。

所以,我的問題是應該如何操作標題以便在應用tiny_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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM