首页 > 解决方案 > 子图的 Matplotlib figsize 与常规图的 figsize 不匹配

问题描述

pandas用来操作存储在变量中的一些数据x。这样做

x.plot(figsize=(10,6))

将生成我共享的图像顶部的图表。

然后我使用具有相同figsize的子图,结果是图像的底部。

fig, axes = plt.subplots(2,2, figsize=(10,6))
axes = axes.ravel()
dfs = dict()
for i, ax in enumerate(axes):
    y = backtest_up(x)[['v1', 'v2']]
    ax.plot(y)

如果两者具有相同的 figsize 值,为什么图的大小不同?

在此处输入图像描述

标签: python-3.xpandasmatplotlib

解决方案


在 matplotlib 中, figsize 设置整个图形的大小。

在您的第一个示例中,只有一个图表,因此它将占用整个图表。在第二个示例中,有四个图形,因此每个图形占图形的四分之一。

但是 4 个图加在一起的大小与单个图相同。


推荐阅读