layout: post title: ‘从一副图的绘制了解绘图的常用操作’ subtitle: ‘’ date: 2019-05-29 categories: 数据分析 cover: ‘’ tags: 数据分析 —
从一副图的绘制了解绘图的常用操作
1. 绘制一副普通的曲线图
默认的plot(x,y,format_string,**kwargs)
方法就会绘制一副曲线图,他的参数如下
x
:x
轴坐标的数据y
:y
轴的数据format_string
:曲线格式化字符串,曲线是利用字符串来设置样式的,可以传入颜色,也可以传入线的样式,还可以两个组合一起传入**kwargs
:可以是另一组同样的参数,也可以是其他支持的参数
x = np.linspace(-np.pi,np.pi,256)
plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x))
上面3行代码就可以绘制一个图了
还可以更短
plt.plot(x,np.sin(x),'b-',x,np.cos(x),'r-')
这样一下就可以绘制两组甚至多组数据
2. 修改颜色和线宽
颜色可以使用format_string
来修改,线宽可以使用另外一个参数lw
来修改,lw
其实就是linewidth
的缩写,可以改成这样
plt.plot(x,np.sin(x),'b-',lw=3)
plt.plot(x,np.cos(x),'r-',lw=3)
图片就变成这样了,matplotlib支持的颜色如下,也可以使用argb
来配色
颜色字符 | 说明 | 颜色字符 | 说明 |
---|---|---|---|
‘b’ | blue 蓝色 | ‘y’ | yellow 黄色 |
‘g’ | green 绿色 | ‘k’ | black 黑色 |
‘r’ | red 红色 | ‘w’ | white 白色 |
‘c’ | cyan 青绿色 | ‘#rrggbb’ | RGB颜色 |
‘m’ | magenta 洋红色 | ‘0.8’ | 灰度值 |
支持的线的风格如下
样式字符 | 说明 | 样式字符 | 说明 |
---|---|---|---|
‘-‘ | 实线风格 | ‘–’ | 虚线风格 |
‘-.’ | 点划线风格 | ‘:’ | 虚线风格 |
‘’ ‘ ‘ | 无线条 |
支持的标记风格如下
标记字符 | 说明 | 标记字符 | 说明 |
---|---|---|---|
‘.’ | 点标记 | ‘,’ | 像素标记 |
‘o’ | 圆圈标记 | ‘v’ | 下三角标记 |
‘^’ | 上三角标记 | ‘<’ | 左三角标记 |
‘>’ | 右三角标记 | ‘1’ | 下花三角标记 |
‘2’ | 上花三角标记 | ‘3’ | 左花三角标记 |
‘4’ | 右花三角标记 | ‘s’ | 正方形标记 |
‘p’ | 五边形标记 | ‘*’ | 星标记 |
‘h’ | 六边形1标记 | ‘H’ | 六边形2标记 |
‘+’ | 十字标记 | ‘x’ | x标记 |
‘D’ | 菱形标记 | ‘d’ | 瘦菱形标记 |
‘ | 垂直线标记 | ‘_’ | _标记 |
处理支持使用format_string
的方式设置线的样式,他还支持单独设置样式颜色对应color
参数,线的样式linestyle
对应ls
,标记对应marker
#plt.plot(x,np.sin(x),'b_',marker='o')
#plt.plot(x,np.cos(x),'r:',marker='^')
plt.plot(x,np.sin(x),color='b',ls='-',marker='o')
plt.plot(x,np.cos(x),color='r',ls='--',marker='^')
3. 调整坐标轴的范围
调整坐标轴一般要用到xlim()
和ylim()
函数,他们都传入两个参数分别x轴的最大值和最小值,y轴的最大值和最小值,
plt.plot(x,np.sin(x),color='b',ls='-')
plt.plot(x,np.cos(x),color='r',ls='--')
plt.xlim(-4,4)
plt.ylim(-2,2)
就可以得到下面这幅图
4. 修改轴刻度
修改轴刻度使用xticks
和yticks
,他们可以传入一个列表(只要可迭代就行)的一个数据,然后matplotlib会自动计算设置的刻度位置,如
plt.plot(x,np.sin(x),color='b',ls='-')
plt.plot(x,np.cos(x),color='r',ls='--')
plt.xlim(-4,4)
plt.ylim(-2,2)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi])
就可以设置x的刻度
与此同时可以使用别名来代表x轴的位置,这需要传入两个列表,如
#plt.plot(x,np.sin(x),'b_',marker='o')
#plt.plot(x,np.cos(x),'r:',marker='^')
plt.plot(x,np.sin(x),color='b',ls='-')
plt.plot(x,np.cos(x),color='r',ls='--')
plt.xlim(-4,4)
plt.ylim(-2,2)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\frac{\pi}{2}$','0',r'$\frac{\pi}{2}$',r'$\pi$'])
这样可以使用更加常见的的方式代替x轴坐标
5. 设置图例
设置图例在多个图时候显得尤为重要,设置图例一般使用legend()
函数来实现,当然也可以在绘图的时候加入一个label
参数来实现
plt.plot(x,np.sin(x),color='b',ls='-',label='sin')
plt.plot(x,np.cos(x),color='r',ls='--',label='cos')
plt.xlim(-4,4)
plt.ylim(-2,2)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\frac{\pi}{2}$','0',r'$\frac{\pi}{2}$',r'$\pi$'])
plt.legend()
当然也可以这样
plt.plot(x,np.sin(x),color='b',ls='-')
plt.plot(x,np.cos(x),color='r',ls='--')
plt.xlim(-4,4)
plt.ylim(-2,2)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\frac{\pi}{2}$','0',r'$\frac{\pi}{2}$',r'$\pi$'])
plt.legend(['sin','cos'],loc='best')
这种的效果跟上面的效果是一样的,只是要注意顺序