设置plt.figure(figsize=(20,10))未生效,如何绘制更大尺寸的Matplotlib图表
matplotlib设置figsize不生效的常见解决方案
- 创建画布后代码后续修改了全局配置参数,优先级高于单画布设置。检查
fig = plt.figure(figsize=(20,10))之后的代码是否包含plt.rcParams["figure.figsize"] = (x,y)这类全局尺寸配置,将全局配置移到创建画布语句之前即可。 - 后续绘图逻辑生成了新的画布实例,覆盖了你设置好尺寸的旧画布。如果使用
plt.subplots()、plt.subplot()这类接口绘图,改为在创建时直接指定尺寸:# 直接在subplots创建阶段指定尺寸,不需要单独先建figure fig, ax = plt.subplots(figsize=(20,10)) - Jupyter系列环境inline显示模式存在默认dpi缩放,会导致显示尺寸和设置值不符。导入matplotlib后先配置显示参数:
%matplotlib inline import matplotlib.pyplot as plt plt.rcParams['figure.dpi'] = 100 # 可根据需要调整dpi数值,数值越大显示尺寸越大 - 布局调整函数压缩了画布实际显示范围。使用
plt.tight_layout()或者fig.tight_layout()时增加边距参数:fig.tight_layout(pad=3) - 导出图片时参数设置导致尺寸异常。保存图片时同步指定dpi和裁切规则:
plt.savefig("output.png", dpi=100, bbox_inches="tight")
内容的提问来源于stack exchange,提问作者yankov.plamen
相关产品推荐
相关产品推荐

