学习使用matplotlib以及其pyplot的使用
学习目标:
学习python数据分析与展示
所采用到的课程链接是北理-Python数据分析与展示-Numpy、Matplotlib、Pandas
学习内容:
Matplotlib的介绍
Matplotlib由各种可以可视化构成,其内部结构复杂
通过调用matplotlib.pyplot
这一个命令字库,可以绘制各种可视化图形,使用方法:
import matplotlib.pyplot as plt
需要注意到像plt
引入模块别名的方式,名字的缩写尽量采用约定俗成的,这样在后续的学习过程当中,可以简化书写,又可以让别人在理解自己的代码的时候更加方便
下面是实际的简单应用:
"""
Created on Mon Aug 1 10:26:07 2022
@author:无你想你
"""
import numpy as np
import matplotlib.pyplot as plt
plt.subplot(3,2,4)
def f(t):
return np.exp(-t)*np.cos(2*np.pi*t)
a=np.arange(0.0,0.5,0.01)
plt.subplot(211)
plt.plot(a,f(a))
plt.subplot(2,1,2)
plt.plot(a,np.cos(2*np.pi*a))
plt.show()
画出相应的函数图像如下
plot进行应用
plt.plot(x,y,format_string,**kwargs)
format_string
:控制曲线的格式字符串,也就是可以根据自身喜爱和需求进行图像的颜色更改
颜色字符 | 说明 | 颜色字符 | 说明 |
---|---|---|---|
‘b’ | 蓝色 | ‘m’ | 洋红色 magenta |
‘g’ | 绿色 | ‘y’ | 黄色 |
‘r’ | 红色 | ‘k’ | 黑色 |
‘c’ | 青绿色 cyan | ‘w’ | 白色 |
‘#008000’ | RGB某颜色 | ‘0.8’ | 灰度值字符串 |
风格字符 | 说明 |
---|---|
‘‐’ | 实线 |
‘‐‐’ | 破折线 |
‘‐.’ | 点划线 |
‘:’ | 虚线 |
’ ’ ’ ’ | 无线条 |
标记字符 说明 |
---|
‘.’ 点标记 |
‘,’ 像素标记(极小点) |
‘o’ 实心圈标记 |
‘v’ 倒三角标记 |
‘^’ 上三角标记 |
‘>’ 右三角标记 |
‘<’ 左三角标记 |
‘1’ 下花三角标记 |
‘2’ 上花三角标记 |
‘3’ 左花三角标记 |
‘4’ 右花三角标记 |
‘s’ 实心方形标记 |
‘p’ 实心五角标记 |
‘*’ 星形标记 |
‘h’ 竖六边形标记 |
‘H’ 横六边形标记 |
‘+’ 十字标记 |
‘x’ x标记 |
‘D’ 菱形标记 |
‘d’ 瘦菱形标记 |
’ |
**kwargs
表示仍然有更多的不同的需要绘制的(x,y,format_string)
其他的应用还有
- color : 控制颜色
- linestyle : 线条风格
- marker : 标记风格
- markerfacecolor: 标记颜色
- markersize : 标记尺寸
在需要用到的使用大家在进行搜索就好
pyplot中文显示方法
pyplot并不支持中文显示,需要通过rcParam修改字体实现
rcParams的属性
属性 | 说明 |
---|---|
‘font.family’ | 用于显示字体的名字 |
‘font.style’ | 字体风格,正常’normal’或 斜体’italic’ |
‘font.size’ | 字体大小,整数字号或者’large’、'x‐smal |
中文字体的种类如下
rcParams['font.family']
中文字体 | 说明 |
---|---|
‘SimHei’ | 中文黑体 |
‘Kaiti’ | 中文楷体 |
‘LiSu’ | 中文隶书 |
‘FangSong’ | 中文仿宋 |
‘YouYuan’ | 中文幼圆 |
‘STSong’ | 华文宋体 |
实例如下:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib
matplotlib.rcParams['font.family']='STSong'
matplotlib.rcParams['font.size']=24
a=np.arange(0.0,0.5,0.01)
plt.xlabel('时间')
plt.ylabel('振幅')
plt.plot(a,np.cos(2*np.pi*a),'bo-')
plt.show()
第二种方法,也是比较建议和使用的方法
在中文输出的地方增加属性fontproperties
实例如下图所示
pyplot的文本显示方法
大家要尽可能的掌握这一部分的内容
函数 | 说明 |
---|---|
plt.xlabel() | 对X轴增加文本标签 |
plt.ylabel() | 对y轴增加文本标签 |
plt.title() | 对图形整体增加文本标签 |
plt.text() | 在任意位置增加文本 |
plt.annotate() | 在图形中增加带箭头的注解 |
实例如下:
注意到使用了$
这个符号来展示函数的专业写法,是和Latex相关知识,感兴趣的同学可以做进一步的了解,并不需要说知道怎么太会用,在这里强烈推荐妈咪说的一个网站,在这里附上链接,具体的使用操作大家可以在B站搜索妈咪说,查看相关视频
在线 L a t e x Latex Latex编译器
使用教程
写出箭头所指向的位置,还有箭头的属性
pyplot子绘图区域
plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)
理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始
在3*3的区域当中,进行自定义的设计
但是每一次运用都要调用3*3,会比较麻烦,下面介绍GridSpec
内容总结
数据与图形展示的整合是我们的接下来的学习目标
- pyplot子库的基本应用
- 文字的添加
- 添加注释