matplotlib的Text、FontProperties对象、字体(font)属性|中文字体的设置|图像标题、label字体的设置

matplotlib.text.Text对象

见文档描述matplotlib.text
设置Text字体性质的方法有两个:

  • Text.set(xxx=value)
  • Text.set_xxx(value) 其中xxx指性质名称

Text(matplotlib中)的几个常用性质

一些小记录:serif 衬线体 sans-serif 非衬线体(sans法语当中without的意思)

性质(简写) 描述
fontfamily(family)(fontname) 字体样式名称 {‘serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’, ‘monospace’} 和其他的字体名称
fontsize(size) 字体大小 float (单位: point)
{‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’}
fontstretch(stretch) a numeric value in range 0-1000
{ ‘ultra-condensed’, ‘extra-condensed’, ‘condensed’, ‘semi-condensed’, ‘normal’, ‘semi-expanded’, ‘expanded’, ‘extra-expanded’, ‘ultra-expanded’}
fontstyle (style) 字体样式 {‘normal’, ‘italic’, ‘oblique’}
fontvariant(variant) {‘normal’, ‘small-caps’}
fontweight(weight) 字体粗细 a numeric value in range 0-1000
{‘ultralight’, ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’}
horizontalalignment(ha) 横向位置 {‘center’, ‘right’, ‘left’}
verticalalignment(va) 纵向位置 {‘center’, ‘top’, ‘bottom’, ‘baseline’, ‘center_baseline’}
rotation 字体旋转 float(顺时针旋转角度,非负)
{‘vertical’(90°), ‘horizontal’(0°)}
rotation_mode 旋转模式 {None, ‘default’, ‘anchor’}

family 可以设置本机上的字体名称,这样可以在matplotlib里面用中文,但是字体名称要用英文,只在本地文件里设置才有效
中文字体英文名称如表 参考博客

中文字体名称 英文
宋体 SimSun
黑体 SimHei
微软雅黑 Microsoft YaHei
微软正黑体 Microsoft JhengHei
新宋体 NSimSun
新细明体 PMingLiU
细明体 MingLiU
标楷体 DFKai-SB
仿宋 FangSong
楷体 KaiTi
仿宋_GB2312 FangSong_GB2312
楷体_GB2312 KaiTi_GB2312
华文细黑 STHeiti Light [STXihei]
华文黑体 STHeiti
华文楷体 STKaiti
华文宋体 STSong
华文仿宋 STFangsong
新宋体 NSimSun
隶书 LiSu
幼圆 YouYuan
华文中宋 STZhongsong
方正舒体 FZShuTi
方正姚体 FZYaoti
华文彩云 STCaiyun
华文琥珀 STHupo
华文隶书 STLiti
华文行楷 STXingkai
华文新魏 STXinwei

font性质示例:代码参考Fonts demo (keyword arguments)
在这里插入图片描述

matplotlib.font_manager.FontProperties对象

看源代码可知,Text的font开头的方法都是通过调用FontProperties的对应方法实现的。
Text对象也有FontProperties性质,通过set(fontproperties=)或者set_fontproperties()赋值
set_fontproperties()
FontProperties文档
FontProperties 控制的是“font”组的性质。

FontProperties(family=None, style=None, variant=None, weight=None, stretch=
  • 7
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在matplotlib中,可以使用`plt.rcParams`来设置label字体。具体步骤如下: 1. 导入matplotlib库: ```python import matplotlib.pyplot as plt ``` 2. 设置字体: ```python plt.rcParams['font.family'] = 'Times New Roman' plt.rcParams['font.size'] = 12 ``` 其中,`font.family`表示字体的名称,可以根据自己的需要进行设置;`font.size`表示字体的大小,单位为磅。 3. 在绘图时设置label: ```python plt.plot(x, y) plt.xlabel('x轴', fontweight='bold') plt.ylabel('y轴', fontweight='bold') plt.legend(['数据'], loc='best') ``` 其中,`xlabel`和`ylabel`用于设置x轴和y轴的标签,`legend`用于设置图例。在这些函数中,可以使用`fontweight`参数来设置字体的粗细。 以上就是在matplotlib设置label字体的方法。 ### 回答2: 在matplotlib设置图例的文字样式,可以通过设置label字体属性matplotlib提供了多种字体样式和大小可供选择,可以根据具体的需求选择合适的字体样式。 在matplotlib中,可以通过rcParams配置字体样式和大小。rcParams是一种全局配置参数,它可以对所有的图形进行统一的参数设置。rcParams中包含了许多可配置项,例如字体大小、颜色、线条粗细等,可以通过修改这些可配置项来实现对图形的全局设置。 在rcParams中,常用的字体样式和大小参数如下: font.family:字体类型,包含serif、sans-serif、cursive、fantasy、monospace等多个字体类型,可以通过字体文件路径指定自定义字体font.style:字体样式,包含normal、italic、oblique等,可以用于控制字体的倾斜程度。 font.variant:字体变量,包含normal和small-caps等。可以用于控制small-caps变体的字体大小。 font.weight:字体加粗程度,包含normal、bold、bolder、lighter、100、200、300、400、500、600、700、800、900等。 font.size:字体大小,可以用于控制文本的大小。 具体设置字体样式和大小的方法是: ① 在程序的开头,使用rcParams设置默认字体样式和大小。 import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'sans-serif' # 设置字体类型 plt.rcParams['font.size'] = 14 # 设置字体大小 ② 在具体的绘图命令中,使用fontdict参数设置字体样式和大小。 plt.plot(x, y, label='line1', fontdict={'family': 'serif', 'style': 'italic', 'weight': 'bold', 'size': 16}) 此外,还可以通过修改matplotlib的配置文件,来实现对于所有图形的全局字体设置。具体方法是: ① 找到默认配置文件matplotlibrc。 使用如下命令找到matplotlibrc文件的路径: import matplotlib print(matplotlib.matplotlib_fname()) 输出结果可以在终端中查看,一般在用户目录的.matplotlib文件夹下。 ② 修改matplotlibrc文件。 打开文件,找到font.family、font.size等对应的行,修改它们的值即可。 需要注意的是,修改配置文件是全局的,即对于所有程序都生效。如果只是想为单个程序修改字体设置,使用rcParams或fontdict更为方便。 ### 回答3: matplotlib是一个强大的Python可视化库,它可以用来绘制各种类型的图表,包括折线图、散点图、条形图、饼图等。在绘制这些图表的过程中,我们经常需要对标签(label)进行设置,以便更好地展示数据。 在matplotlib中,可以使用plt.xlabel()和plt.ylabel()函数分别对x轴和y轴的标签进行设置。这两个函数的参数可以传入字符串类型的标签文本,这些文本可以包括一些基本的格式设置,例如字体、大小、颜色等。 在对标签的字体进行设置时,我们可以使用matplotlib中的FontProperties类。使用FontProperties类可以实现对标签的字体类型、大小、颜色等方面的定制化控制。 下面是一个例子,说明如何在matplotlib设置标签字体: ``` import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # 创建图表 fig, ax = plt.subplots() # 设置数据 x = [1, 2, 3, 4, 5] y = [10, 8, 6, 4, 2] # 绘制折线图 ax.plot(x, y) # 设置x轴和y轴标签 font = FontProperties() font.set_family('serif') font.set_size('14') ax.set_xlabel('X Label', fontproperties=font) ax.set_ylabel('Y Label', fontproperties=font) # 显示图表 plt.show() ``` 在上述例子中,我们可以看到,使用FontProperties类时,需要先创建一个FontProperties对象。我们可以在这个对象设置我们想要的字体属性,例如字体类型、大小、颜色等。然后,我们需要将这个FontProperties对象传递给ax.set_xlabel()和ax.set_ylabel()函数中,并设置标签的文本。 需要注意的是,使用matplotlib绘制图表时,字体设置可能会受到系统环境的影响。为了保证字体能够正常显示,我们可以将自己需要使用的字体文件放置在matplotlibfont目录下,或者使用系统中已经安装好的字体文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值