【发布时间】:2020-10-01 12:37:59
【问题描述】:
我将 8 个子图绘制成如下图:
import matplotlib.pyplot as plt
fig, axs = plt.subplots(8)
label = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
data = [0.6, 0.4, 1.3, 0.8, 0.9, 1.0, 1.6, 0.2]
plt.xlim(0,2)
for i in range(8):
axs[i].get_yaxis().set_visible(False)
axs[i].get_xaxis().set_visible(False)
axs[i].set_xlim([0, 2])
axs[i].axvline(data[i],linestyle='--')
axs[i].get_yaxis().set_visible(False)
axs[7].get_xaxis().set_visible(True)
plt.show()
这看起来像:
为了标记子图,我想在子图 i 的左侧写 label[i](参见上面的代码)。你怎么能这样做?
【问题讨论】:
-
您好,您要在 x 轴或 y 轴上添加标签吗?此外,您可以为每个
axs[i]添加一个标题。你要哪一个? -
@DanielLima 例如,对于第一个子图,我只想将“A”写在它的左边(在 y 轴上)。我没有空间在子情节中放置标题。
-
axs[i].set_ylabel(label[i])? -
@bnaecker 然后我将如何摆脱数字 y 轴标签,因为我必须这样做 axs[i].get_yaxis().set_visible(True) ?
-
@Anush 你没有,只需将刻度设置为空:
axs[i].set_yticks(())。
标签: python matplotlib