尽管使用了 figsize(),但数字大小不同?

Figures different size although figsize() was used?

我正在尝试用一些标记创建水平框(轴)。

除了按比例调整 y 轴(即 height 变量使用 figsize 比率来计算适当的 y 最大值)之外,除了轴的大小随 x 轴的不同范围而变化外,一切正常。

minimum = avg - 2 * std
maximum = avg + 2 * std
height = (2/8)*(maximum-minimum)

fig = plt.figure(figsize=(8, 2))
ax = fig.add_axes([minimum, 0, maximum, height])
ax.set_xlim((minimum, maximum))
ax.set_ylim((0,height))

下面是上述代码所来自的函数的另一种变体,但同一函数中不同值的结果不同

minimum = 0
maximum = avg * 2
height = (2/8)*(maximum-minimum)

fig = plt.figure(figsize=(8, 2))
ax = fig.add_axes([minimum, 0, maximum, height])
ax.set_xlim((minimum, maximum))
ax.set_ylim((0,height))

screenshot of what the different graphs looks like 关于 figsize 的使用有一些问题,但与我的情况无关。

提前致谢!

在上面的代码中,您使用

故意创建了不同大小的轴
ax = fig.add_axes([minimum, 0, maximum, height])

难怪他们不一样。只要 minimummaximumheight 不总是相同,就会得到不同大小的轴。

改为使用

ax = fig.add_subplot(111)