Matplotlib相关内容
本文最后更新于:3 年前
是Matplotlib鸭!
Python数据分析与展示(matplotlib):
https://matplotlib.org/gallery.html
上面这个是可以看到相应的效果图去找库的使用的库,不懂的话可以上去查一下嗷!
可以仅仅通过.pyplot实现可视化的库,非常方便简单,相当于快捷方式,一般我们也是用这个子库。
PLT中的一些功能:
- 简单绘图: .plot(list)
- 设置坐标轴: .xlabel / .ylabel
- 保存文件 .savefig(‘name’,dpi = … )(dpi可以修改输出质量,每个英寸含有多少像素点)
- .axis([a , b , c , d]) x坐标轴起始于a,终止于b ; y坐标轴起始于c,终止于d(确定x,y轴的范围)
- .subplot(nrows , ncols , plot_number)(1,2参数分区,3参数定位绘图区域)
- .show()展示画出来的图像
参照mooc5.py有一些用法,个人认为和matlab没啥大区别,只是matlab中的数组在python中只能通过numpy库来实现罢了,其余的用法大同小异。
.plot函数的使用:
- .plot(x,y,format_string,**kwargs):
- x,y: 列表或者数组
- format_string: 控制曲线的格式字符串,可选。(系统会自动自己选的哦,风格字符最好换一换哦,上网可以查得到,MOOC第二周也可以查得到,mooc6.py参考)
- **kwargs: 另外一些参数
- 可以同时绘制多条 e.g. plt.plot(a,a*1.5, a,a*2.5)
- format_string使用时可以指定参数:
- color = ‘green’
- linestyle = ‘dashed’
- marker = ‘o’
- markerfacecolor = ‘blue’
- markersize = 20
- …
- .plot(x,y,format_string,**kwargs):
pyplot中文输出:
- 第一种方法:
- import matplotlib
- matplotlib.rcParams[‘font.family’] = ‘SimHei’(修改字体为黑体)
- 随后输入中文就可以正常显示
- rcParams还有font.style和font.size的属性
- SimHei , Kaiti , LiSu , FangSong , Youyuan , STSong 都可以输出中文
- 第二种方法(推荐,不用像上面那样全局设置,可以个性化定制):
- 因为上面第一个是全局引用,但用fontproperties则是可以改变某一个部分的属性。
- 例子:plt.xlabel(‘横轴’, fontproperties = ‘SimHei’,fontsize = 20)
- 第一种方法:
文本显示函数:
一些基本函数:
- .xlabel
- .ylabel
- .title()
- .text()
- .annotate()
可以见mooc7.py康康具体表示怎么样比较好一点哦
pyplot子区域绘图:
.subplot2grid(GridSpec,CirSpec,colspan=1,rowspan=1)
- GridSpec为一个元组,分成几乘几的区域
- CirSpec为开始指定的区域
- colspan或者是rowspan便是行或者列上延展几个单位的区域,如果不选择这个参数的话,就默认一个哦
通过这种方式,就可以使得plot的个性化更加明显一点
还有一个类:
import matplotlib.gridspec as gridspec
用法:
- gs = gridspec.GridSpec(3,3)
- ax1 = plt.subplot(gs[0, :])
- ax2 = plt.subplot(gs[1,:-1])
针对于数据,寻找优秀的展示方法,然后去matplotlib中查找对应的用法即可。
十六种常用的函数:
- plot
- boxplot(箱型图)
- bar(条形图)
- barh(横向条形图)
- polar(极坐标图)
- pie(饼图)
- psd(功率谱密度图)
- specgram(谱图)
- cohere(X-Y的相关性函数)
- scatter(散点图)
- step(步阶图)
- hist(直方图)
- contour(等值图)
- vlines(垂直图)
- stem(柴火图)
- plot_data(数据日期)
tips: 这里是告诉你什么数据要用什么图,重点不在于怎么绘制
引入一个十分有用的方法,面向对象的方法来进行绘制嗷!首先例如ax = subplots()
这样构造了一个对象ax , 然后用ax.plot(),这个时候调用的是生成的ax这个对象的方法,通过这个对象的方法来对于这个图像进行绘制!ax.set_title()也是其中面向对象的一个函数。
- 饼图:
- plt.pie()这个函数用于绘制饼图
- 基本参数: labels , sizes , explode , autopct , shadow , startangle , axis
- 有比例的数据比较方便绘制,突出各元素的百分比时适合用饼图
- 直方图
- plt.hist()
- 关键参数:
- 我传入的数组
- 参数bin,直方图中直立的块儿的个数(等分在最小和最大值之间)
- 可以很好的将数组中具体数据个数给展示出来,突出样本在某一范围内的数量时适合采用直方图(例如:班级数学期末考试成绩)
- 极坐标图的绘制:
- 关键参数:
- projection = ‘polar’
- theta , radii , left , height , width
- 在角度范围内展示数据的好方法!
- 关键参数:
- 散点图:
- 具体的一些数据,让其在图中突出其重点的一些数据信息,统计的观测值适合采用散点图来展示。
- 折线图:
- 时间维度可以使用折线图,有利于突出数值随着时间的变化。
Matplotlib相关内容
https://alexanderliu-creator.github.io/2021/02/20/python-shu-ju-fen-xi-yu-zhan-shi-matplotlib/