如何在matplotlib中为每个子图添加y标签

时间:2020-04-03 01:01:25

标签: python matplotlib

fig = plt.figure()

ax1 = fig.add_subplot(2,1,1)
ax1.ylabel("raw")
ax2 = fig.add_subplot(2,1,2)
ax2.ylabel("smooth")

ax1.plot(a)

ax2.plot(smoothdata())

plt.show()

我需要能够在每个图上添加y轴标签,我知道如何通过执行plt.ylabel('raw“)仅用一个图来做,但是如何在多个图上做呢? / p>

2 个答案:

答案 0 :(得分:0)

轴对象没有方法ylabel,请使用set_ylabel

答案 1 :(得分:0)

ylabel()matplotlib.pyplot有效。来自docs

matplotlib.pyplot.ylabel(ylabel, fontdict=None, labelpad=None, **kwargs)

示例:

import matplotlib.pyplot as plt
plt.plot(x, y)
plt.ylabel("Label on plt")
plt.show()

如果有多个图(子图),则必须在每个子图轴上使用set_ylabel()

import matplotlib.pyplot as plt

fig = plt.figure()

ax1 = fig.add_subplot(2,1,1)
ax1.set_ylabel("raw") ### <---
ax2 = fig.add_subplot(2,1,2)
ax2.set_ylabel("smooth") ### <---

ax1.plot([i for i in range(0, 10)], [i for i in range(0, 10)])
ax2.plot([i for i in range(0, 20)], [i for i in range(0, 20)])
plt.show()

输出:

plt