系列文章:
文章目录
1、matplotlib简介
matplotlib库是Python中绘制二维和三维图表的数据可视化工具
特点:
使用简单绘图语句实现复杂绘图效果
以交互操作实现渐趋精细的图形效果
使用嵌入式LaTeX输出具有印刷级别的图表、科学表达式和符号文本
对图表的组成元素实现精细化控制
三种绘图接口
- pyplot 面向当前图
- axes 面向对象
- Pylab 沿用matlab风格
本文使用pyplot 绘图,展示绘图的基本参数,使用bumpty库获得绘图数据(随机生成)
使用的库
import matplotlib.pyplot as plt
import numpy as np
2 图形组成元素的函数用法
plot() 展示变量的趋势变化
使用方法: plt.plot(x, y, c, ls, lw, label, alpha, **kwargs)
- x, y : x, y轴上的数值
- c :设置颜色
- ls: 折线图的线条风格
- lw: 折线图的线条宽度
- label : 标记图形内容的标签文本
- alpha: 透明度
- **kwargs:指定使用的是 line2D 属性
2.1 figure(): 背景颜色
使用方法:figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=Figure, clear=False, **kwargs)
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(5,5))
x = np.linspace(0.05, 10, 1000)
y = np.sin(x)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.plot(x, y, color='red', ls='-', label='sinx')
plt.show()
2.2 xlim() 和 ylim(): 设置x, y轴的数值显示范围
使用方法: plt.xlim(xmin, xmax)
xmin: x轴上的最小值
ymin: y轴上的最大值
2.3 xlabel() 和 ylabel() : 设置x ,y轴的标签文本
使用方法: plt.xlabel(fontsize, verticalalignment, horizontalalignment, rotation, bbox)
fontsize: 数字或者(small , large, medium)
verticalalignment: 距离坐标轴的位置 ( top , bottom, center, baseline)
hoizontalalignment: 位置(center, right, left)
ratation:位置(vertical,horizontal,vertical)
bbox:添加边框
2.4 grid() 绘制刻度线的网格
使用方法 plt.grid(linestyle, color)
2.5 axhline() 绘制平行于x轴额度水平参考线
使用方法: plt.axhline(y, c, ls, lw, label)
y :水平参考线的出发点
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(5,5))
x = np.linspace(0.05, 10, 1000)
y = np.sin(x)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.plot(x, y, color='red', ls='-', label='sinx')
plt.xlim(1, 10) #x轴数值显示范围
plt.ylim(-1, 1.5)
plt.xlabel('x轴') #x轴标签文本
plt.ylabel('y轴')
plt.grid(ls=':', color='blue') #设置网格,蓝色
# 平行于x轴水平线
plt.axhline(0.5, color='green', lw=2, label='分割线')
plt.show()
2.6 axvspan() 绘制垂直于x轴的参考区域
使用方法: plt.axvspan(xmin, xmax, facecolor, alpha)
xmin: 参考区域的起始位置
xmax: 参考区域的终止位置
facecolor: 参考区域填充颜色
alpha:参考区域填充颜色透明度[0,1]
在上面的代码添加(plt.show() 前面添加)
plt.axvspan(xmin=2, xmax=5, facecolor='r', alpha=0.2)
2.7 xticks(),yticks()
获取或设置当前 x 轴或 y 轴刻度位置和标签(即设置 x 或 y 轴的标 签)
可以理解为设置xilim和ylim一样的效果,但可以指定范围和距离
plt.xticks(list(range(0, 13, 2)))
注意看x轴,从原来的0-10到现在的0-13,可以通过设置第三个参数设置步长,这里设置为2