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导入pyplot
notion image
plot函数在绘制图像的时候如没指定横坐标,或只输入了一组数组,则会把默认这组数组为纵坐标,并根据纵坐标的索引生成横坐标
notion image

pyplot的绘图区域

plt.subplot(nrows,ncols,plot_number)函数可以在全局绘图区域中创建一个分区体系,并定位到一个子绘图区域。
  • nrows代表这块区域横轴方向分割的块数
  • ncols代表这块区域纵轴方向分割的块数
  • plot_number代表正在画的这张图在这块区域的那块位置
notion image

pyplot的plot()函数

plt.plot(x,y,format_string,**kwargs)
  • x:X轴数据,列表或数组,可选
  • y:Y轴数据,列表或数组
  • format_string:控制曲线的格式字符串,可选
    • 由颜色字符、风格字符和标记字符组成
  • *kwargs:第二组或更多(x,y,format_string)
当绘制多条曲线时,各条曲线的x不能省略。
notion image
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'
瘦菱形标记
'|'
垂直线标记
notion image
  • *kwargs是可选参数,以上的颜色,风格,标记也都可以表示:
  • color:控制颜色,color='green'
  • linestyle:线条风格,linestyle='dashed'
  • marker:标记风格,marker='o'
  • markerfacecolor:标记颜色,markerfacecolor='bule'
  • markersize:标记尺寸,markersize=20
  • ……

pyplot的中文显示

pyplot并不默认支持中文显示,需要rcParams修改字体实现
notion image
rcParams的属性:
font.family
用于显示字体的名字
font.style
字体风格,正常’normal‘或斜体’italic‘
font.size
字体大小,整数字号或者’large‘、’x-small‘
SimHei
黑体
Kaiti
楷体
LiSu
隶书
FangSong
仿宋
YouYuan
幼圆
STSong
华文宋体
notion image
为了能够使用局部的中文字体我们在有中文输出的地方,增加一个fontproperties属性。这也是最推荐的方法上面的代码变为:
notion image

pyplot的文本显示函数

plt.xlabel()
对X轴增加文本标签
plt.ylabel
对Y轴增加文本标签
plt.title
对图形整体增加文本标题
plt.text
在任意位置增加文本
plt.annotate
在图形中增加带箭头的注解
notion image
plt.annotate(s,xy=arrow_crd,xytext=text_crd,arrowprops=dict)是注释函数
  • s:注释的文本
  • xy:箭头显示位置
  • xytext:文本显示位置
  • arrowprops:字典类型,定义整个箭头显示的属性
notion image

pyplot的子绘图区域

pyplot.subplot函数只能将一块绘图区域分割为规则的子绘图区域,但在实际应用中,我们希望可以划分不规则的区域,所以就有了plt.subplot2grid()函数,这个函数辅助plt.subplot()函数划分绘图区域。
plt.subplot2grid(GridSpec,CurSpec,colspan=1,rowspan=1)
设计理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始。
  • GridSpec:划分网格为几块区域
  • CurSpec:选择网格的第几行几列
  • colspan和rowspan:确定选择网格的横向和纵向的延伸数量。
notion image
使用subplot2grid函数固然可以划出不规则区域,但每次都要在选择子绘图区域时,都要确定整个绘图区域(例子中的第一个参数),所以我们可以使用GridSpec类和subplot函数来规定整体绘图区域。
notion image

关键

不可能掌握每一种画图方法,要根据数据选取恰当的图形展示数据含义,然后通过文档来绘图。
3.2 matplotlib基础绘图函数示例2.3 实例:图像的手绘风格
Loading...