前军夜战洮河北,已报生擒吐谷浑。——王昌龄
目录
前言
1. 概述
- 学习基于matplotlib制图时,如何设置坐标轴刻图的字体属性。
2. 版本
2.1 山东青岛,2021年6月116日,Version 1
3. 参考资料
[1]. matplotlib官方文档
[2]. Python绘图总结(Matplotlib篇)之坐标轴及刻度
一、坐标轴刻度字体类型设置
1. matplotlib中的常见字体
对于matplotlib中的常见字体,可以参考matplotlib 修改字体属性 (旋转,类型,粗细,颜色,大小)。
2. 字体设置示例
- 此程序展示如何将坐标轴刻度的字体设置为新罗马,请关注程序的2.3 坐标轴刻度字体设置这一部分。
- axes.get_xticklabels() , 获取坐标轴刻度对象
- .set_fontname(),设置字体
- 程序示例
'''
1. 程序目的
(1) 修改坐标轴刻度的字体为新罗马字体
2. 山东青岛 2021年5月2日
'''
# 0. 包的导入
import numpy as np
import matplotlib.pyplot as plt
# 1. 创建制图数据
x = np.linspace(-2,2,100)
# 2. 绘图
# 2.1 图形对象创建
fig,axes = plt.subplots(figsize=(5,5)) # 创建一个图形对象和一个子图对象
axes.plot(x,x**3,label='cubic',linestyle='--') # axes对象绘图
# 2.2 axes对象添加图名称,坐标轴名称
axes.set_xlabel('x label')
axes.set_ylabel('y label')
axes.set_title('cubic line')
axes.legend() # 添加图例
# 2.3 坐标轴刻度字体设置
x1_label = axes.get_xticklabels()
[x1_label_temp.set_fontname('Times New Roman') for x1_label_temp in x1_label]
y1_label = axes.get_yticklabels()
[y1_label_temp.set_fontname('Times New Roman') for y1_label_temp in y1_label]
plt.show()
- 运行结果
二、坐标轴刻度字体颜色设置
1. axes.tick_params方法设置坐标轴刻度的字体颜色
-
axes.tick_params方法是对坐标轴标签的设置,在进行字体颜色(labelcolor)设置的同时,可以设置坐标轴刻度标签的朝向(direction)、颜色(color)和坐标轴刻度字体的大小(labelsize=9)。请关注程序的2.4 坐标轴刻度字体颜色设置这一部分。
-
axes.tick_params()进行坐标轴标签属性设置时,需要通过axis='y’或者axis='x’指定要设置的坐标轴。
-
程序示例
'''
1. 程序目的
(1) 修改y坐标轴刻度的字体颜色为蓝色
2. 山东青岛 2021年5月2日
'''
# 0. 包的导入
import numpy as np
import matplotlib.pyplot as plt
# 1. 创建制图数据
x = np.linspace(-2,2,100)
# 2. 绘图
# 2.1 图形对象创建
fig,axes = plt.subplots(figsize=(3,3),dpi=600) # 创建一个图形对象和一个子图对象
axes.plot(x,x**3,label='cubic',linestyle='--') # axes对象绘图
# 2.2 axes对象添加图名称,坐标轴名称
axes.set_xlabel('x label')
axes.set_ylabel('y label')
axes.set_title('cubic line')
axes.legend() # 添加图例
# 2.3 坐标轴刻度字体设置
x1_label = axes.get_xticklabels()
[x1_label_temp.set_fontname('Times New Roman') for x1_label_temp in x1_label]
y1_label = axes.get_yticklabels()
[y1_label_temp.set_fontname('Times New Roman') for y1_label_temp in y1_label]
# 2.4 坐标轴刻度字体颜色设置
axes.tick_params(axis='y',
labelsize=9, # y轴字体大小设置
color='r', # y轴标签颜色设置
labelcolor='b', # y轴字体颜色设置
direction='in' # y轴标签方向设置
)
plt.show()
- 运行结果