【问题标题】:Put shared axis labels to upper plot将共享轴标签放在上图
【发布时间】:2022-01-25 01:19:01
【问题描述】:
from matplotlib import pyplot as plt
fig, (ax0, ax1) = plt.subplots(nrows=2, sharex=True)
fig.show()

返回这个数字:

但我想要第一个图下方的 x 轴标签,而不是第二个图,如下所示。我怎样才能做到这一点?

【问题讨论】:

  • 手动设置标签?
  • 主要是轴的位置。我认为标签本身是xticks

标签: python matplotlib multiple-axes


【解决方案1】:

official reference中有一个例子,所以我参考回答:在tick参数中,将底部标签设置为false。

import matplotlib.pyplot as plt

ax0 = plt.subplot(211)
ax1 = plt.subplot(212, sharex=ax0, sharey=ax0)
#plt.plot([],[])
plt.tick_params('x', labelbottom=False)
#print(ax1.get_xticks())

plt.show()

【讨论】:

    【解决方案2】:

    @r-beginners 的回答让我找到了一个解决方案,该解决方案在使用 plt.subplots 快捷方式而不是分别实例化每个轴时也有效。

    from matplotlib import pyplot as plt
    fig, (ax0, ax1) = plt.subplots(nrows=2, sharex=True)
    plt.tick_params('x', labelbottom=False, labeltop=True)
    fig.show()
    

    他的基本部分是plt.tick_params,它采用关键字参数labeltoplabelbottom(以及labelleftlabelright 用于多个列上的共享轴)来单独选择/取消选择每个轴。

    【讨论】:

      猜你喜欢
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 2019-05-31
      • 2021-04-21
      • 2015-11-29
      • 1970-01-01
      • 2021-02-21
      • 1970-01-01
      相关资源
      最近更新 更多