说明:本blog基于python3,matplotlib 3.5.1, numpy 1.22.0
文章目录
前言
可视化操作广泛应用于数据分析和机器学习中,它可以帮助人们更直观地观测到异常值或所需地数据转换效果;matplotlib作为python的一个桌面绘图包,可以生成出版级质量的图表;该工作包与2002年由John Hunter首次制作发布,为在python环境下进行matlab风格的绘图提供了可能。本文主要介绍创建图表对象,设置刻度,刻度标签,轴边界范围,轴标签,图例, 图名和文本,保存图标对象三个方面的代码实现。
一、创建(初始化)图表对象
要想画图,必须先创建图表和子图表
接下来介绍两种常见的创建图表和子图表的方法
1.1 在新图表中逐个新的子图表
公式:
新图表 = matplotlib.pyplot.figure(figsize = );其中figsize是设置新图表的大小,以英寸为单位,通常设置为8,6
新的子图表 = 新图表.add_subplot(子图行数,子图列数,第几个子图);子图行数是指新图表的行一共有几个子图,子图列数是指新图表的列一共有几个子图, 第几个子图是指按先行后列的顺序创建的第几个子图
比如,我们想创建一个12*8 的新图表,新图表一共有4个子图;
代码如下
import matplotlib.pyplot as plt
import numpy as np
# ###创建图片和子图
# ###创建图片
fig = plt.figure(figsize = (12,8))
###在某图片中创建子图方法一
axe1 = fig.add_subplot(2,2,1)
axe2 = fig.add_subplot(2,2,2)
axe3 = fig.add_subplot(2,2,3)
axe4 = fig.add_subplot(2,2,4)
结果如下,
第一行左边的是axe1,第一行右边的是axe2
第二行左边的是axe3,第二行右边的是axe4
1.2 在图表中创建行,列共享坐标的子图表
公式:fig, axes = matplotlib.pyplot.subplots(3,3,sharex = True, sharey = True); 返回的fig是新图表,axes是新图表中的子图表;如果后续对某一个子图表实例进行引用/画图,使用axes[子图表的行位置,子图表的列位置]即可
比如,我现在想创建一个新图表,该图标一共有9个子图表(3行3列),且让9个图标共享行、纵坐标轴。每个子图表画出服从均值为0,标准差为0.5正态分布的500个样本点的直方图,且每个子图都有50个bin。
代码如下
import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(3,3,sharex = True, sharey = True)
for i in range(3)