Python-matplotlib制图10-设置坐标轴刻度的字体属性

前军夜战洮河北,已报生擒吐谷浑。——王昌龄

目录

  • 前言
    •   1. 概述
    •   2. 版本
      •    2.1 山东青岛,2021年6月116日,Version 1
    •   3. 参考资料
  • 一、坐标轴刻度字体类型设置
    •  1. matplotlib中的常见字体
    •  2. 字体设置示例
  • 二、坐标轴刻度字体颜色设置
    •  1. axes.tick_params方法设置坐标轴刻度的字体颜色


前言

  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()
  • 运行结果
    Python-matplotlib制图10-设置坐标轴刻度的字体属性_第1张图片

二、坐标轴刻度字体颜色设置

 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()
  • 运行结果
    Python-matplotlib制图10-设置坐标轴刻度的字体属性_第2张图片

你可能感兴趣的:(07_Python基础知识,python,数据可视化)