You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

seaborn.displot绘图时标题和x轴标签显示不全的原因及解决办法

问题产生原因

Matplotlib 是 Seaborn 底层依赖的绘图库,它默认的画布边距不会自动适配所有文本元素的尺寸。当你设置的标题内容较长、或者画布尺寸偏小时,顶部、底部的预留边距不足以容纳完整的标题和X轴标签,就会出现内容被截断的问题。

修复方案

你可以选择以下任意一种方案解决,优先推荐第一种自动调整的方案:

  • 调用plt.tight_layout()自动调整布局:在plt.show()之前插入该行代码,Matplotlib会自动计算并调整画布边距、子图间距,保证所有文本元素都可以完整显示。
  • 手动调整画布边距:如果你需要更精细的控制,可以使用plt.subplots_adjust()自定义各方向的边距,示例:plt.subplots_adjust(top=0.9, bottom=0.15),可以根据实际显示效果调整top(顶部边距)、bottom(底部边距)的数值。
  • 放大画布尺寸:在调用sns.displot()时添加height、aspect参数放大画布,额外的空间会自动容纳更长的文本内容,示例:sns.displot(enctimes,kde=True, legend=False, bins=bins, height=6, aspect=1.3)。

修复后的完整代码示例

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

filename = 'MY_FILENAME_GOES_HERE'
# 注意提前定义好bins、fileForTitle变量,避免运行报错
bins = 20
fileForTitle = "test.mp4"

enctimes=pd.read_csv(filename,skiprows=10)

sns.displot(enctimes,kde=True, legend=False, bins=bins).set(title='Encoding Times  %s, number frames %d' %(fileForTitle,len(enctimes)),xlabel='usec')

# 添加自动调整布局的代码
plt.tight_layout()
plt.show()

内容的提问来源于stack exchange,提问作者Shevach Riabtsev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:57:00