Python数据分析与展示(三)--Matplotlib库

学习视频链接:Python数据分析与展示_北京理工大学_哔哩哔哩_bilibili   P21-P35

Matplotlib库入门

一、Matplotlib库的导入

Matplotlib库是python优秀的可视化第三方库

Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发,matplotlib.pyplot是绘制各类可视化图形的命令子库,相当与快捷方式。

#plt是引入模块的别名,这是一种约定俗成的引入名称
import matplotlib.pyplot as plt

二、Matplotlib库小测

1.绘制简单的折线图

import matplotlib.pyplot as plt

plt.plot([3,1,4,5,2])
plt.ylabel('Grade')
plt.show()

#注:plt.plot()只有一个输入列表或数组时,参数被当作Y轴,X轴以索引自动生成。 

 2.将绘制的图保存成文件

import matplotlib.pyplot as plt

plt.plot([3,1,4,5,2])
plt.ylabel('Grade')
plt.savefig('D://test',dpi=600)

#注:plt.savefig()将图形存储为文件,默认为PNG格式,可以通过dpi修改输出质量

3.同时添加X轴和Y轴的数组绘图

import matplotlib.pyplot as plt

plt.plot([0,2,4,6,8],[3,1,4,5,2])
plt.ylabel('Grade')
plt.axis([-1,10,0,6])
plt.show()

 例如:

plt.sublot(3,2,4)

当前的绘图区域:

 简单实例:

import numpy as np
import matplotlib.pyplot as plt

def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)

a=np.arange(0.0,5.0,0.02)
plt.subplot(211)    #第一块区域
plt.plot(a,f(a))

plt.subplot(212)    #第二块区域
plt.plot(a,np.cos(2*np.pi*a))
plt.show()

 效果:

 四、pyplot的plot()函数

plt.plot(x,y,format_string,**kwargs)

#    x:X轴数据,列表或数组,可选
#    y:Y轴数据,列表数组
#    format_string:控制曲线的格式字符串,可选
#    **kwargs:第二组或更多(x,y,format_string)

#注:当绘制多条曲线时,各条曲线的x不能省略

#当不设置format_string时,matplotib会自动对一个绘图区域的多条曲线设置不同的颜色。

例:

import numpy as np
import matplotlib.pyplot as plt

a=np.arange(10)
plt.plot(a,a*1.5,a,a*2.5,a,a*3.5,a,a*4.5)
plt.show()

例子:

 

 format_string:控制曲线的格式字符串,可选。由颜色字符风格字符标记字符组成。

颜色字符:

风格字符:

 

标记字符:

实例:

import numpy as np
import matplotlib.pyplot as plt

a=np.arange(10)
plt.plot(a,a*1.5,'bo-',a,a*2.5,'gx--',a,a*3.5,'r-.',a,a*4.5,'y*:')
plt.show()

效果:

五、pyplot的中文显示(pyplot并不默认支持中文显示)

1.使用rcParams修改字体

raParams的属性:

中文字体的种类:

实例:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

matplotlib.rcParams['font.family']='Kaiti'
matplotlib.rcParams['font.size']=12
matplotlib.rcParams['font.style']='normal'
a=np.arange(0.0,5.0,0.02)
plt.ylabel('纵轴:振幅')
plt.xlabel('横轴:时间')
plt.plot(a,np.cos(2*np.pi*a),'b--')
plt.show()

效果:

2.在有中文输出的地方增加一个属性:fontproperties

实例:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

a=np.arange(0.0,5.0,0.02)
plt.ylabel('纵轴:振幅',fontproperties='SimHei',fontsize=12)
plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=12)
plt.plot(a,np.cos(2*np.pi*a),'b--')
plt.show()

 

效果:

六、pyplot的文本显示函数

实例:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

a=np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),'b--')
plt.ylabel('纵轴:振幅',fontproperties='SimHei',fontsize=12,color='green')
plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=12)
plt.title('正弦波实例 $y=cos(2\pi x)$',fontproperties='SimHei',fontsize=20,color='red')
plt.text(2,1,r'$\mu=100$',fontsize=15)
plt.axis([-1,6,-2,2])
plt.show()

效果:

#注释的使用:

plt.annotate(s, xy=arrow_crd, xytext=text_crd, arrowprops=dict)

 实例:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

a=np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),'b--')
plt.ylabel('纵轴:振幅',fontproperties='SimHei',fontsize=12,color='green')
plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=12)
plt.title('正弦波实例 $y=cos(2\pi x)$',fontproperties='SimHei',fontsize=20,color='red')
plt.annotate(r'$\mu=100$',xy=(2,1),xytext=(3,1.5),arrowprops={'facecolor':'black','shrink':0.1,'width':2})
plt.axis([-1,6,-2,2])
plt.show()

 

效果:

七、pyplot的子绘图区域

1.subplot2grid()

虽然使用plt.subplot()方法也可以设置绘图区域,但是这种方法过于繁琐。当绘图子区域过多时,实际中更多使用plt.subplot2grid()方法。

plt.subplot2grid(GridSepc,CurSpec,colspan=1,rowspan=1)

#理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始

 

划分区域效果:

2.GridSpec类

使用GridSpec类可以达到和subplot2grid()方法相同的效果。

笔记: python数据分析与展示(三) - 元骑鲸 - 博客园

笔记:数据分析与展示——Matplotlib库入门 - Python学习者 - 博客园

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值