Matpoltlib 1


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-')

img

这样一下就可以绘制两组甚至多组数据

2. 修改颜色和线宽

颜色可以使用format_string来修改,线宽可以使用另外一个参数lw来修改,lw其实就是linewidth的缩写,可以改成这样

plt.plot(x,np.sin(x),'b-',lw=3)
plt.plot(x,np.cos(x),'r-',lw=3)

img

图片就变成这样了,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='^')

img

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)

就可以得到下面这幅图

img

4. 修改轴刻度

修改轴刻度使用xticksyticks,他们可以传入一个列表(只要可迭代就行)的一个数据,然后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])

img

就可以设置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()

img

当然也可以这样

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')

这种的效果跟上面的效果是一样的,只是要注意顺序

??正文结束??
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值