我正在构建一个带有嵌入式 Matplotlib (1.4.3) 的 PyQt4 GUI。它允许用户从可用参数列表中选择要绘制的参数,并让他们控制添加/删除、重新缩放子图等以将数据发送到。无论如何,我遇到了这种 add_subplot
后跟 change_geometry
的行为,这是我没想到的。
在2,1,2位置做一个子图:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 10, 0.1)
y1 = 0.05 * x**2
y2 = -1 *y1
figure = plt.figure()
ax1 = figure.add_subplot(2,1,2,label='sub2')
ax1.plot(x, y1, 'g-')
plt.show()
这是一个错误让我们将其更改为子图 #1 并重新标记
ax1.change_geometry(2,1,1)
ax1.set_label('sub1')
好的,现在让我们这次真正添加子图 2...
ax2 = figure.add_subplot(2,1,2,label='sub2')
ax2.plot(x, y2, 'b-')
plt.draw()
等一下,它绘制在子图 1 上……我的子图 2 在哪里?让我们看看 ax1 和 ax2
ax1
<matplotlib.axes._subplots.AxesSubplot at 0xcaa32b0>
ax2
<matplotlib.axes._subplots.AxesSubplot at 0xcaa32b0>
他们是同一个轴?所以经过一番挖掘,我发现了 This GitHub Issue 429它说它是固定的......但它看起来不像它对我来说。我是否遗漏了什么或者这真的仍然是一个问题吗?
我是一名优秀的程序员,十分优秀!