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

使用matplotlib pyplot设置figsize无效时如何加宽图表x轴

问题原因

你写的plt.plot(figsize=(30,5))是错误用法,plt.plot()方法的作用是绘制折线图,本身不支持figsize参数,所以尺寸设置没有生效。figsize是创建画布时的参数,需要在绘制任何图形之前配置。

解决方法

有两种常用的设置画布尺寸的方式:

  • 方式1:pyplot风格直接设置:在所有绘图代码前添加plt.figure(figsize=(30,5)),删除原本错误的plt.plot(figsize=(30,5))行即可
  • 方式2:面向对象的更规范写法:显式创建画布和轴对象,后续绘图操作都基于轴对象完成,可控性更高
修正后的完整代码
import numpy as np
import matplotlib.pyplot as plt

# 替换为你的实际文件路径
file = "你的数据文件路径"
outfile = "输出图片路径.png"

data_dates = np.loadtxt(file, usecols = 0, dtype=np.str_)
data1 = np.loadtxt(file, usecols = 1)
data2 = np.loadtxt(file, usecols = 2)
data3 = np.loadtxt(file, usecols = 3)

# 正确设置画布尺寸,第一个参数为宽度、第二个为高度,单位是英寸
plt.figure(figsize=(30,5))
plt.plot(data_dates, data1, label = "T")
plt.plot(data_dates, data2, label = "WS")
plt.plot(data_dates, data3, label = "WD")
plt.xlabel('Date', fontsize=8)
plt.xticks(rotation=90, fontsize=4)
plt.ylabel('Percentage Difference (%)')
plt.legend()
plt.savefig(outfile, format='png', dpi=200, bbox_inches='tight')
补充说明
  • 如果调整后x轴的日期标签仍然过于拥挤,可以进一步调大figsize的第一个参数(宽度值),或者通过plt.xticks(ticks=data_dates[::5])设置每隔几个日期显示一个刻度,避免重叠
  • numpy新版本中np.str已经被弃用,建议替换为np.str_避免运行警告

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:45:02