matplotlib上常见的y标签没有调整

时间:2016-06-10 07:43:06

标签: python matplotlib plot subplot

我有两个子图,并希望两者都有共同的x轴和y轴标签。我的代码如下:

fig, ax = plt.subplots()
ax = fig.add_subplot(111)
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)

ax.set_ylabel("array2 stuff")

plt.subplot(2, 1, 1)
plt.plot(array1, array2, 'o-', label='stuff')
plt.title("my stuff")

plt.legend(loc="lower left")
plt.grid()

plt.subplot(2, 1, 2)
plt.plot(array1, array2, 'o-', label='stuff')
plt.xlabel("Date")
ax.set_ylabel("array2 stuff")
plt.legent(loc="lower left")
plt.ylim(-constant, constant)
plt.grid()

plot.show()

x轴标签似乎有效,但y标签只是在两个图之间居中。相反,它集中在较低的情节的y轴上。

1 个答案:

答案 0 :(得分:5)

使用text

import matplotlib.pyplot as plt
import numpy as np

array1 = np.linspace(-10,10,10)
array2 = np.linspace(-10,10,10)

fig = plt.figure()
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)

plt.subplot(2, 1, 1)
plt.plot(array1, array2, 'o-', label='stuff')
plt.title("my stuff")

plt.legend(loc="lower left")
plt.grid()

plt.subplot(2, 1, 2)
plt.plot(array1, array2, 'o-', label='stuff')
plt.xlabel("Date")
plt.legend(loc="lower left")
constant = 10
plt.ylim(-constant, constant)
plt.grid()
fig.text(.05, .5, 'array stuff', ha='center', va='center', rotation='vertical')

plt.show()

enter image description here