status
type
date
slug
summary
tags
category
password
icon
Total Videos
Link
Video Duration
Matplotlib库是python优秀的数据可视化第三方库,官网为:http://matplotlib.org/
一些可视化效果可以查看:http://matplotlib.org/gallery.html
Matplotlib库的使用
Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发,Matplotlib的设计者想让用户可以很简单的使用Matplotlib画图,而不用去管复杂的实现类,所以Matplotlib提供了一个子库Matplotlib.pyplot。
Matplotlib.pyplot
Matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式。
使用
import matplotlib.pyplot as plt
导入pyplotplot函数在绘制图像的时候如没指定横坐标,或只输入了一组数组,则会把默认这组数组为纵坐标,并根据纵坐标的索引生成横坐标
pyplot的绘图区域
plt.subplot(nrows,ncols,plot_number)
函数可以在全局绘图区域中创建一个分区体系,并定位到一个子绘图区域。- nrows代表这块区域横轴方向分割的块数
- ncols代表这块区域纵轴方向分割的块数
- plot_number代表正在画的这张图在这块区域的那块位置
pyplot的plot()函数
plt.plot(x,y,format_string,**kwargs)
- x:X轴数据,列表或数组,可选
- y:Y轴数据,列表或数组
- format_string:控制曲线的格式字符串,可选
由颜色字符、风格字符和标记字符组成
- *kwargs:第二组或更多(x,y,format_string)
当绘制多条曲线时,各条曲线的x不能省略。
format_string参数是控制曲线格式的字符串,由颜色字符、风格字符和标记字符组成。
'b' | 蓝色 |
'g' | 绿色 |
'r' | 红色 |
'c' | 青绿色 |
'#008000' | RGB某颜色 |
'm' | 洋红色 |
'y' | 黄色 |
'k' | 黑色 |
'w' | 白色 |
'0.8' | 灰度值字符串 |
'-' | 实线 |
'--' | 破折线 |
'-.' | 点划线 |
':' | 虚线 |
'',' ' | 无线条 |
'.' | 点标记 |
',' | 像素标记(极小点) |
'o' | 实心圈标记 |
'v' | 倒三角标记 |
'^' | 上三角标记 |
'>' | 右三角标记 |
'<' | 左三角标记 |
'1' | 下花三角标记 |
'2' | 上花三角标记 |
'3' | 左花三角标记 |
'4' | 右花三角标记 |
's' | 实心方形标记 |
'p' | 实心五角标记 |
'*' | 星形标记 |
'h' | 竖六边形标记 |
'H' | 横六边形标记 |
'+' | 十字标记 |
'x' | x标记 |
'D' | 菱形标记 |
'd' | 瘦菱形标记 |
'|' | 垂直线标记 |
- *kwargs是可选参数,以上的颜色,风格,标记也都可以表示:
- color:控制颜色,
color='green'
- linestyle:线条风格,
linestyle='dashed'
- marker:标记风格,
marker='o'
- markerfacecolor:标记颜色,
markerfacecolor='bule'
- markersize:标记尺寸,
markersize=20
- ……
pyplot的中文显示
pyplot并不默认支持中文显示,需要rcParams修改字体实现
rcParams的属性:
font.family | 用于显示字体的名字 |
font.style | 字体风格,正常’normal‘或斜体’italic‘ |
font.size | 字体大小,整数字号或者’large‘、’x-small‘ |
SimHei | 黑体 |
Kaiti | 楷体 |
LiSu | 隶书 |
FangSong | 仿宋 |
YouYuan | 幼圆 |
STSong | 华文宋体 |
为了能够使用局部的中文字体我们在有中文输出的地方,增加一个
fontproperties
属性。这也是最推荐的方法上面的代码变为:pyplot的文本显示函数
plt.xlabel() | 对X轴增加文本标签 |
plt.ylabel | 对Y轴增加文本标签 |
plt.title | 对图形整体增加文本标题 |
plt.text | 在任意位置增加文本 |
plt.annotate | 在图形中增加带箭头的注解 |
plt.annotate(s,xy=arrow_crd,xytext=text_crd,arrowprops=dict)
是注释函数- s:注释的文本
- xy:箭头显示位置
- xytext:文本显示位置
- arrowprops:字典类型,定义整个箭头显示的属性
pyplot的子绘图区域
pyplot.subplot
函数只能将一块绘图区域分割为规则的子绘图区域,但在实际应用中,我们希望可以划分不规则的区域,所以就有了plt.subplot2grid()
函数,这个函数辅助plt.subplot()
函数划分绘图区域。plt.subplot2grid(GridSpec,CurSpec,colspan=1,rowspan=1)
设计理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始。
- GridSpec:划分网格为几块区域
- CurSpec:选择网格的第几行几列
- colspan和rowspan:确定选择网格的横向和纵向的延伸数量。
使用subplot2grid函数固然可以划出不规则区域,但每次都要在选择子绘图区域时,都要确定整个绘图区域(例子中的第一个参数),所以我们可以使用GridSpec类和subplot函数来规定整体绘图区域。
关键
不可能掌握每一种画图方法,要根据数据选取恰当的图形展示数据含义,然后通过文档来绘图。
- 作者:铃溪
- 链接:https://lingxi.mozzai.top/article/72fd32b8-015e-4a37-966d-dca1f3a822ba
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。