底部图形与顶部图形标签重叠

时间:2017-11-28 20:18:17

标签: python matplotlib plot graph overlap

问题是什么?顶部图形的标签位于底部图形下方......我真的无法想象如何解决这个问题。我认为它会有效地发挥作用。

以下代码来自网站http://www.physics.nyu.edu/pine/pymanual/html/chap5/chap5_plot.html#basic-plotting

图表必须如何显示在链接http://www.physics.nyu.edu/pine/pymanual/html/_images/subplotDemo.png中。

通过复制上述网站中的代码获得的图表图片位于My overlapped graph链接中。

import numpy as np
import matplotlib.pyplot as plt

theta = np.arange(0.01, 8., 0.04)
y = np.sqrt((8./theta)**2-1.)
ytan = np.tan(theta)
ytan = np.ma.masked_where(np.abs(ytan)>20., ytan)
ycot = 1./np.tan(theta)
ycot = np.ma.masked_where(np.abs(ycot)>20., ycot)

plt.figure(1)

plt.subplot(2, 1, 1)
plt.plot(theta, y)
plt.plot(theta, ytan)
plt.ylim(-8, 8)
plt.axhline(color="gray", zorder=-1)
plt.axvline(x=np.pi/2., color="gray", linestyle='--', zorder=-1)
plt.axvline(x=3.*np.pi/2., color="gray", linestyle='--', zorder=-1)
plt.axvline(x=5.*np.pi/2., color="gray", linestyle='--', zorder=-1)
plt.xlabel("theta")
plt.ylabel("tan(theta)")

plt.subplot(2, 1, 2)
plt.plot(theta, -y)
plt.plot(theta, ycot)
plt.ylim(-8, 8)
plt.axhline(color="gray", zorder=-1)
plt.axvline(x=np.pi, color="gray", linestyle='--', zorder=-1)
plt.axvline(x=2.*np.pi, color="gray", linestyle='--', zorder=-1)
plt.xlabel("theta")
plt.ylabel("cot(theta)")

plt.show()

0 个答案:

没有答案