Python数据分析(二):Matplotlib
一、Matplotlib库的介绍
Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发。
matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式。
import matplotlib.pyplot as plt
plt.savefig()将输出图形存储为文件,默认PNG格式,可以通过dpi修改输出质量。
pyplot的绘图区域
plt.subplot(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不能省略。
1、format_string
控制曲线的格式字符串,可选。由颜色字符、风格字符和标记字符串组成
颜色字符 | 说明 | 颜色字符 | 说明 |
---|---|---|---|
‘b’ | 蓝色 | ‘m’ | 洋红色 magenta |
‘g’ | 绿色 | ‘y’ | 黄色 |
‘r’ | 红色 | ‘k’ | 黑色 |
‘c’ | 青绿色 cyan | ‘w’ | 白色 |
‘#008000’ | RGB某颜色 | ‘0.8’ | 灰度值字符串 |
风格字符 | 说明 |
---|---|
‘-’ | 实线 |
‘- -’ | 破折号 |
‘-.’ | 点划线 |
‘:’ | 虚线 |
‘’ ‘’ | 无线条 |
2、**kwargs
- color:控制颜色,color=‘green’
- linestyle:线条风格,linestyle=‘dashed’
- marker:标记风格,marker=‘0’
三、pyplot的中文显示
pyplot并不默认支持中文显示,需要rcParams修改字体实现。
rcParams属性
属性 | 说明 |
---|---|
‘font.family’ | 用于显示字体的名字 |
‘font.style’ | 字体风格,正常‘normal’或斜体‘italic’ |
‘font.size’ | 字体大小,整数字号或者‘large’、‘x-small’ |
在有中文输出的地方,增加一个属性:fontproperties
四、pyplot的文本显示
函数 | 说明 |
---|---|
plt.xlabel() | 对X轴增加文本标签 |
plt.ylabel() | 对Y轴增加文本标签 |
plt.title() | 对图形整体增加文本标签 |
plt.text() | 对任意位置增加文本 |
plt.annotate() | 在图形中增加带箭头的注释 |
五、pyplot的子绘图区域
plt.subplot2grid()
plt.subplot2grid(GridSpec,CurSpec,colspan=1,rowspan=1)
理念:设定网格,选中网络,确定选中行列区域数量,编号从0开始。
GridSpec类
import matplotlib.gridspec as gridspec
六、pyplot基础图表函数概述
函数 | 说明 |
---|---|
plt.plot(x,y,fmt,…) | 绘制一个坐标图 |
plt.boxplot(data,notch,position) | 绘制一个箱形图 |
plt.bar(left,height,width,bottom) | 绘制一个条形图 |
plt.barh(width,bottom,left,height) | 绘制一个横向条形图 |
plt.polar(theta,r) | 绘制极坐标图 |
plt.pei(data,explode) | 绘制饼图 |
plt.psd(x,NFFT=256,pad_to,Fs) | 绘制功率谱密度图 |
plt.specgram(x,NFFT=256,pad_to,F) | 绘制谱图 |
plt.cohere(x,y,NFFT=256,Fs) | 绘制X-Y的相关性函数 |
plt.scatter(x,y) | 绘制散点图,其中,x和y长度相同 |
plt.step(x,y,where) | 绘制步阶图 |
plt.hist(x,bins,normed) | 绘制直方图 |
plt.contour(X,Y,Z,N) | 绘制等值图 |
plt.vlines() | 绘制垂直图 |
plt.stem(X,Y,linefmt,markerfmt) | 绘制柴火图 |
plt.plot_date() | 绘制数据日期 |