Python数据分析与展示(三)--Matplotlib库_导入matplotlib库-程序员宅基地

技术标签: python  数据分析  数据挖掘  

学习视频链接: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学习者 - 博客园

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_53370147/article/details/123012351

智能推荐

【送书福利-第十九期】《C++ Core Guidelines解析》-程序员宅基地

文章浏览阅读4.5w次,点赞48次,收藏44次。【程序员洲洲送书福利-第十九期】《C++ Core Guidelines解析》

ArcGIS 10.2安装教程 (Win10 环境下)_arcgis安装-程序员宅基地

文章浏览阅读9.1w次,点赞19次,收藏113次。下面带来win10 64位操作系统下ArcGIS10.2的安装过程,亲测,可用。win8 win7操作系统下按此教程也可行。_arcgis安装

交换与路由技术课程设计_路由与交换课设-程序员宅基地

文章浏览阅读5.7k次,点赞6次,收藏112次。路由与交换技术课程设计_路由与交换课设

后端接口优化的14个技巧!-程序员宅基地

文章浏览阅读914次,点赞30次,收藏11次。接口优化

RFID停车场收费系统_rfid停车场收费系统设计方案-程序员宅基地

文章浏览阅读460次。RFID智能停车场管理方案主要应用于停车场收费管理、4S店停车场管理等各类车辆管理场合,在车辆上安装车辆IC卡,在进出口位置安装UR5206远距离读卡器,当车辆I过来的时候,RFID远距离读卡器读到车辆IC卡,送到控制板或后台数据库,控制板或后台数据库根据预设的条件做下一步的动作:抬升道闸放行或记录车辆信息。既能应用于收费停车场、车辆称重等车辆管理,也能应用于公交、车队等运输车辆调度管理以及高速收费等,有效的解决了各单位所面临的车辆识别管理问题。_rfid停车场收费系统设计方案

Java生成四位数随机验证码_随机生成验证码-程序员宅基地

文章浏览阅读1k次,点赞13次,收藏10次。我们生活中登录的时候都要输入验证码,这些验证码是为了增加注册或者登录难度,减少被人用脚本疯狂登录注册导致的一系列危害,减少数据库的一些压力。毕竟那些用脚本生成的账号都是垃圾账号本次实践:生成这样的验证码并且附带一些干扰线。_随机生成验证码

随便推点

千万级数据查询处理方案_oracle五千万数据查询-程序员宅基地

文章浏览阅读5.3k次。前段时间有一个项目涉及到了很多的查询与报表生成。因为单表数据量已经达到了千万级,再多表关联已经达到亿级数据了。之前没有接触过这么大数据量的处理,所以刚接到这个项目时有点脑瓜子疼。最开始我还是想通过优化sql与索引方式来提高查询的性能,但是效果并不明显。(由于业务的需求,sql关联了很多表,其真实的执行时间已经超过一分钟了【不能忍了】)然后找了公司的dba讨论如何解决,我提出的第一个方案是采..._oracle五千万数据查询

基于CNN卷积神经网络的minst数据库手写字识别-程序员宅基地

文章浏览阅读1k次,点赞24次,收藏14次。基于CNN卷积神经网络的minst数据库手写字识别

闲着没事看的视频或者文章_闲着没事看的有用文章-程序员宅基地

文章浏览阅读48次。有道云笔记中很多不知道什么时候时候的链接,清空一下,都放到这里方便点击学生问为什么要读书?【万字长文】如何成为一个值钱的职场人?码农翻身:2020年,给大家提7点建议_闲着没事看的有用文章

ps替换图片上文字-程序员宅基地

文章浏览阅读42次。ps替换修改图片上文字

STM32F103学习笔记-AFIO相关-程序员宅基地

文章浏览阅读5.7k次,点赞29次,收藏128次。本文主要讲述了:AFIO与GPIO的关系,AFIO的配置,AFIO的开启条件。_afio

【AIGC】ChatGPT能上传文件了,文档图片数据集秒理解,代码一键执行_ai上传文档-程序员宅基地

文章浏览阅读1w次。作者后来还透露,其实他根本不是研究这个领域的数据科学家,他是先问了ChatGPT“哪些数据有了可视化会很火”,然后再让ChatGPT把从哪找这些数据找出来……如果实在申请不到那也没关系,有人提出,只要先让ChatGPT写出代码,再到别的地方运行,虽然麻烦点但是效果基本没差。对此观点最好的例子,是一位网友把自己苹果健康的数据导出,并用此方法让ChatGPT生成了一张每天行走步数的热度图。需要注意的是,虽然OpenAI给出的是单选,但是有网友发现其实是可以重复填写的。到这还算平常,但下一步直接让人惊掉下巴——_ai上传文档

推荐文章

热门文章

相关标签