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

如何用Seaborn和Matplotlib绘制尺寸一致的图表?

解决图表尺寸不一致的问题

你的问题出在只给第一个图表指定了画布尺寸,后面两个图表使用的是Matplotlib默认的画布尺寸,再加上绘图环境的状态残留,导致最后一张图偏小。另外注意你代码里的figure=(6,8)是笔误,正确参数是figsize。

下面是两种可行的修改方案:

方案一:为每个图表单独创建指定尺寸的画布

每次绘制新图表前都显式创建指定大小的画布,确保每个图表都使用相同尺寸:

# 第一个图表
plt.figure(figsize=(6,8))
sns.barplot(data=csat_korean,x='grade',y='percentage').set_title('Korean')
plt.show()

# 第二个图表
plt.figure(figsize=(6,8))
sns.barplot(data=csat_math,x='grade',y='percentage').set_title('Math')
plt.show()

# 第三个图表
plt.figure(figsize=(6,8))
sns.barplot(data=csat_english,x='grade',y='percentage').set_title('English')
plt.show()

方案二:全局设置默认画布尺寸

如果所有图表都想用相同尺寸,可以先全局设置Matplotlib的默认画布大小,后续所有绘图都会自动沿用这个尺寸:

# 全局设置默认画布尺寸
plt.rcParams['figure.figsize'] = (6, 8)

# 依次绘制三个图表
sns.barplot(data=csat_korean,x='grade',y='percentage').set_title('Korean')
plt.show()
sns.barplot(data=csat_math,x='grade',y='percentage').set_title('Math')
plt.show()
sns.barplot(data=csat_english,x='grade',y='percentage').set_title('English')
plt.show()

两种方案都能保证三个图表尺寸完全一致,你可以根据需求选择。

内容的提问来源于stack exchange,提问作者jihoon choi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:29:54