【发布时间】:2015-03-27 06:37:21
【问题描述】:
我有一些代码:
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)
此代码将产生以下输出:
我的问题是:
1) 为什么要创建两个单独的图形?我认为 subplot 命令会将它们组合成一个图形。我认为这可能是多个 plt.show() 命令,但我尝试将它们注释掉,并且只从我的函数外部调用它一次,我仍然有 2 个窗口。
2) 如何正确地将它们组合成 1 个图形?另外,我希望图 2 轴具有相同的比例(即 x 轴上的 400 m 与 y 轴上的 400 m 长度相同)。同样,我也想垂直拉伸直方图 - 这是如何完成的?
【问题讨论】:
标签: python matplotlib plot