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

全面设置matplotlib字体参数

戚永福
2023-03-14

据我所知,这个留档matplotlib提供了3种方法来更改绘图的样式参数(如axes.grid)。这些方法是:使用样式表一次设置许多参数;通过matplotlib.rcParamsmatplotlib.rc设置特定参数;或者使用matplot图书文件设置默认值。

我想了解我上面列出的每个方法中是否都可以访问所有参数,以及在哪里可以找到所有参数的综合列表。

我试图从链接留档中理解这一点,但我经常失败。一个具体的例子是设置轴字体。我通常使用这样的组合:

axis_font = {'fontname':'Arial', 'size':'32'}
ax.set_ylabel('some axis title',**axis_font)

但是不清楚我设置了什么matplotlib参数(如果有的话)。例如,是否存在可以包含在样式html" target="_blank">文件中的轴字体参数?

我的代码中的其他尝试包括混淆块,如:

legend_font = {'fontname':'Arial', 'size':'22'}
#fonts global settings
matplotlib.rc('font',family=legend_font['fontname'])

从名称上看,它似乎是在更改图例字体,但实际上它显然是在为整个字体设置参数。而且这个尺寸没有被使用。是否有专门用于图例字体和图例大小的matplotlib参数?

我尝试过的是:

  • 检查链接页面底部的示例matplotlibrc(没有明确的轴或图例字体符号)

共有1个答案

安博文
2023-03-14

改变字体的属性是font.family它接受'serif''sans-serif''cursive','幻想''monspace',如链接的示例matplotlivc文件中所述。如果text.usetexFalse,它还接受任何具体的字体名称或字体名称列表-将按照指定的顺序进行尝试,直到一个工作。

此方法将指定的字体名称应用于整个图形(以及全局执行时的所有图形)。如果要修改单个Text实例(即轴标签)的字体族,可以使用matplotlib.text.Text.set_family()(这是<--plhd--的别名)ext.set_fontfamily

import matplotlib.pyplot as plt

ylabel = plt.ylabel("Y Label")
ylabel.set_family("DejaVu Serif")
plt.xlabel("X Label")

plt.show()

要仅为图例实例设置字体系列,可以使用plt.setp,例如。

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

ylabel = plt.ylabel("Y Label")
plt.xlabel("X Label")
ylabel.set_family("DejaVu Serif")

legend = plt.legend(handles = [mpatches.Patch(color='grey', label="Label")])
plt.setp(legend.texts, family="EB Garamond")

plt.show()

请注意,当text.usetexTrue时,此方法将不起作用。

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

  • 第一次运行 Burp 时,您需要花一点时间检查您的显示设置。 Burp 可以让您定制 UI,为不同部分选择不同大小的字体,您可能需要根据屏幕分辨率更改这些设置。 首先,查看 Burp 菜单,标签标题,按钮和其他文本中显示的文本。 如果要更改主 UI 字体大小,请转到选项(User Options)选项卡,然后转到显示(Display)子选项卡,在用户界面部分中选择字体大小。 然后重新启动 Burp

  • 问题内容: 希望这是一个简单的问题,但我暂时无法解决。我想使用matplotlib显示2个数字,然后以交互方式使用它们。我用以下方法创建数字: 并可以使用类似MATLAB的pyplot界面在两个图中进行绘制和绘制。用 我可以确定pyplot界面的当前活动图形,具体取决于我单击的图形。现在,我想使用pyplot界面在第一个图形上绘制一些东西,但是当前图形可以是其中任意一个。所以有什么像 或任何解决方

  • 目前正在练习使用android studio制作应用程序。我有这个自定义字体,并保存到res/font目录中供以后使用。在活动中,我试图使用typeface对象调用getfont(R.font.my\u customized\u font)。例如)Typeface font=getResources()。getfont(R.font.mycustomizedfont) 但是,当我尝试使用API级别

  • 我想在Java中创建一个文本编辑器。这是我到目前为止写的: 我的问题是为设置字体。当我在实际程序上单击按钮时,什么也没发生。我该怎么办?

  • (set-default-font "Verdana-10") (if window-system (set-fontset-font (frame-parameter nil 'font) 'unicode '("simsun" . "unicode-bmp")) ) 英文字体 中文字体