我有一些代码:
import matplotlib.pyplot as plt
def print_fractures(fractures):
xpairs = []
ypairs = []
plt.figure(2)
plt.subplot(212)
for i in range(len(fractures)):
xends = [fractures[i][1][0], fractures[i][2][0]]
yends = [fractures[i][1][1], fractures[i][2][1]]
xpairs.append(xends)
ypairs.append(yends)
for xends,yends in zip(xpairs,ypairs):
plt.plot(xends, yends, 'b-', alpha=0.4)
plt.show()
def histogram(spacings):
plt.figure(1)
plt.subplot(211)
plt.hist(spacings, 100)
plt.xlabel('Spacing (m)', fontsize=15)
plt.ylabel('Frequency (count)', fontsize=15)
plt.show()
histogram(spacings)
print_fractures(fractures)
这段代码将会输出以下内容:
![Fig1](https://istack.dev59.com/IRpw9.webp)
1)为什么会创建两个单独的图像?我认为subplot命令应该将它们合并成一个图像。我认为可能是多个plt.show()命令的原因,但是我尝试注释掉这些命令并且只从我的函数外部调用一次,但我仍然得到了2个窗口。
2)如何正确地将它们组合成一个图像?此外,我希望第二个图形的坐标轴具有相同的比例(例如,x轴上的400 m与y轴上的400 m相同)。同样,我也想垂直地拉伸直方图 - 这要如何实现?