Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发
matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式
一、
import matplotlib.pyplot as plt //引入模块的别名
import matplotlib.pyplot as plt
plt.plot([3,1,5,4,2],[0,2,4,6,8]) # 分别对应的x,y的值
plt.ylabel("grade")
plt.axis([-1.10,0,6]) #规定x,y轴的min 与 max 值
plt.show()
二、用pyplot分割区域进行绘图
plt.subplot(nrows, ncols, plot_number) nrows 表示将横向分为几个部分 即有多少y轴
plt.subplot(2,3,4) #或 plt.subplot(234)
三、plot函数,在同一区域绘制多个函数
plt.plot(x, y, format_string, **kwargs)
x : X轴数据,列表或数组,可选
y : Y轴数据,列表或数组
format_string: 控制曲线的格式字符串,可选 ‘颜色,标记风格,xiantiaof’颜色
**kwargs : 第二组或更多(x,y,format_string)当绘制多条曲线时,各条曲线的x不能省略
颜色字符 | 说明 | 颜色字符 | 说明 |
'b' | 蓝色 | 'm' | 洋红色 magenta |
'g' | 绿色 | 'y' | 黄色 |
'r' | 红色 | 'k' | 黑色 |
'c' | 青绿色 cyan | 'w' | 白色 |
'#008000' | RGB某颜色 | '0.8' | 灰度值字符串 |
风格字符 | 说明 |
'‐' | 实线 |
'‐‐' | 破折线 |
' ‐.' | 点划线 |
':' | 虚线 |
'' ' ' | 无线条 |
plt.plot(x, y, format_string, **kwargs)
**kwargs : 第二组或更多(x,y,format_string)
color : 控制颜色, color='green'
linestyle : 线条风格, linestyle='dashed'
marker : 标记风格, marker='o'
markerfacecolor: 标记颜色, markerfacecolor='blue'
markersize : 标记尺寸, markersize=20
四、 pyplot 的中文显示函数
import numpy as np
import matplotlib.pyplot as plt
a = np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),'r--')
#matplotlib.rcParams['font.family'] = 'STSong'; 改变全局字体
#matplotlib.rcParams['font.size'] = '20';
plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=15,color='green')
plt.ylabel('纵轴:振幅',fontproperties='SimHei',fontsize=15)
plt.title(r'正弦波实例 $y=cos(2\pi x)$',fontproperties='SimHei',fontsize=25)
plt.annotate(r'$\mu=100$',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.1,width=2))
plt.axis([-1,6,-2,2])
plt.grid(True)
plt.show()
plt.annotate(s, xy=arrow_crd, xytext=text_crd, arrowprops=dict) 是箭头函数
'font.family' | 用于显示字体的名字 |
'font.style' | 字体风格,正常'normal'或 斜体'italic' |
'font.size' | 字体大小,整数字号或者'large'、'x‐small' |
plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)
基本使用方法是: 先将整个布局进行均分, 然后指定一块小区域作为起始点, 然后使用colspan和rowspan来在横向和纵向上增加小块的个数
GridSpec: 整体划分, 元组类型
CurSpec: 指定起始小块位置, 元组类型
colspan: 横向小块数量
rawspan: 纵向小块数量
使用GridSpec类可以简化操作
导入
import matplotlib.gridspec as gridspec
生成gridspec对象
gs = gridspec.GridSpec(3, 3)
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
gs = gridspec.GridSpec(3, 3)
ax1=plt.subplot(gs[0,:]) #类似数组的形式 第一行
ax2=plt.subplot(gs[1,:-1]) #第二行到-1列
ax3=plt.subplot(gs[1:,-1])# 第一行开始到最后一行 -1列
ax4=plt.subplot(gs[2,0])
ax5=plt.subplot(gs[2,1])
参考资料:中国大学MOOC嵩天老师《数据分析及展示》课程