【问题标题】:How to set a title inside subplots using matplotlib?如何使用 matplotlib 在子图中设置标题?
【发布时间】:2020-07-02 11:17:03
【问题描述】:

我正在创建一个带有子图的图形:

fig, axs = plt.subplots(5, sharex=True, sharey=True, gridspec_kw={'hspace': 0})

然后我想为每个子图添加一个标题,但标题子图中。我尝试使用

for i in range(0,5):
    axs[i].set_title('title = ' + str(i), pad = -15)

但是这种方法在上面的子图中再次创建了最后一个标题,原因我还不明白。 我还尝试附加一个额外的子图,但找不到再次摆脱它的便捷方法。

【问题讨论】:

  • matplotlib 中存在一个错误,该错误已在即将发布的 3.3 版本中修复。如果您可以使用预发行版,请尝试一下,看看是否已修复?如果没有,请随时在 github 上打开错误报告。

标签: matplotlib subplot


【解决方案1】:

我不知道为什么使用pad 会发生这种情况。但是,一种解决方法可能是使用参数y= 来指定标题文本的位置,同时更改文本的垂直对齐方式:

fig, axs = plt.subplots(5, sharex=True, sharey=True, gridspec_kw={'hspace': 0})

for i in range(0,5):
    axs[i].set_title('title = ' + str(i), y=0.8, va="top")

【讨论】:

  • 这很方便,可以满足我的需求。非常感谢!
猜你喜欢
  • 2021-11-13
  • 2018-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-21
  • 2014-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多