Seaborn图表行间距调整:如何避免文本重叠问题
解决Seaborn条形图Y轴标签重叠问题
针对Y轴标签重叠的问题,可通过以下几种方法解决:
方法一:自动调整布局
使用plt.tight_layout()让Matplotlib自动计算并调整图表元素位置,避免标签重叠:
import matplotlib.pyplot as plt import seaborn as sns bar_barris = sns.countplot(y=df2['Nom_Barri']) bar_barris.set_yticklabels(bar_barris.get_yticklabels(), rotation=40, ha="right") # 自动调整布局 plt.tight_layout() plt.show()
方法二:手动调整侧边距
通过plt.subplots_adjust()增大左侧边距,给长标签留出足够显示空间:
import matplotlib.pyplot as plt import seaborn as sns bar_barris = sns.countplot(y=df2['Nom_Barri']) bar_barris.set_yticklabels(bar_barris.get_yticklabels(), rotation=40, ha="right") # 调整左侧边距(数值可根据实际标签长度灵活修改) plt.subplots_adjust(left=0.3) plt.show()
方法三:缩小标签字体
在设置Y轴标签时减小字体尺寸,直接降低标签的横向空间占用:
import matplotlib.pyplot as plt import seaborn as sns bar_barris = sns.countplot(y=df2['Nom_Barri']) # 设置标签样式时添加fontsize参数缩小字体 bar_barris.set_yticklabels(bar_barris.get_yticklabels(), rotation=40, ha="right", fontsize=8) plt.show()
也可以结合多种方法(比如同时调整边距和字体),达到更理想的显示效果。
内容的提问来源于stack exchange,提问作者edachan
相关产品推荐
相关产品推荐

