当前位置: 首页 > 知识库问答 >
问题:

如何在Matplotlib中将具有不同字体大小的“辅助”标签添加到轴中?

井逸明
2023-03-14

我试图在Matplotlib中生成以下图形:

用于生成轴(无标签)的代码:

import matplotlib.pyplot as plt
fig,ax = plt.subplots(3,3,sharex=True,sharey=True,
                      constrained_layout=False)

我知道如何添加标签“此处为X轴标签”和“此处为Y轴标签”,但我不确定如何将标签“A”、“B”、“C”、“D”、“E”和“F”放置在上图所示的位置。这些标签的字体大小也应与“此处为X轴标签”和“此处为Y轴标签”不同。有什么建议吗?

共有1个答案

步建茗
2023-03-14

一般的方法是使用ax.annotate(),但是对于x轴,我们可以简单地使用子图标题:

import matplotlib.pyplot as plt
fig, ax = plt.subplots(3,3,sharex=True,sharey=True,
                      constrained_layout=False, figsize=(10, 6))

x_titles = list("DEF")
y_titles = list("ABC")
for curr_title, curr_ax in zip(x_titles, ax[0, :]):
    curr_ax.set_title(curr_title, fontsize=15)
for curr_title, curr_ax in zip(y_titles, ax[:, 0]):
    #the xy coordinates are in % axes from the lower left corner (0,0) to the upper right corner (1,1)
    #the xytext coordinates are offsets in pixel to prevent 
    #that the text moves in relation to the axis when resizing the window
    curr_ax.annotate(curr_title, xy=(0, 0.5), xycoords="axes fraction", 
                     xytext=(-80, 0), textcoords='offset pixels',
                     fontsize=15, rotation="vertical")
plt.show()
 类似资料:
  • 问题内容: 我正在Matplotlib中创建一个图形,如下所示: 我想为图形标题和轴标签指定字体大小。我需要所有三个字体大小都不同,所以我不需要设置全局字体大小()。如何分别设置图形标题和轴标签的字体大小? 问题答案: 对付像文本功能,等接受参数相同。对于字体大小,您可以使用: 对于全局设置和大小,包含和。(从页面): (据我所知,没有办法分别设置和标记尺寸。) 而且我看到那没有影响。我想,您需要

  • 我正在Matplotlib中创建一个图形,如下所示: 我想为图标题和轴标签指定字体大小。我需要所有三种字体都有不同的字体大小,因此设置全局字体大小()不是我想要的。如何分别设置图形标题和轴标签的字体大小?

  • 我有这样一个代码: 从图中可以看出,Fontsize中的设置不影响图例标题字体大小。 如何将图例标题的字体大小设置为较小的大小?

  • 问题内容: 在其中,可以使轴标签的文本为粗体 您也可以在正确的后端使用LaTeX 但是,当您将它们合并时,数学文本不再是粗体 以下LaTeX命令似乎也没有任何作用 如何在轴标签上加粗? 问题答案: 不幸的是,您不能使用加粗字体来加粗符号,请在tex.stackexchange上查看此问题。 如答案所示,您可以使用粗体phi: 您需要加载到TeX序言中:

  • 问题内容: 我有一个使用两个y轴的图。我还给行加了标签,并想用显示,但我仅成功获得了图例中一个轴的标签: 因此,我只得到图例中第一个轴的标签,而不是第二个轴的标签“ temp”。如何将第三个标签添加到图例? 问题答案: 你可以通过添加以下行轻松添加第二个图例: 你将获得: 但是,如果要将所有标签都放在一个图例上,则应执行以下操作:

  • 我的目标是增加“收入 ($) " 和“年份”的大小。但是我不知道怎么做。我可以增加“苹果、榴莲、橘子”和“2012、2013”。 下面是我的代码。