您现在的位置是:网站首页> 编程资料编程资料
Python数据分析应用之Matplotlib数据可视化详情_python_
2023-05-26
337人已围观
简介 Python数据分析应用之Matplotlib数据可视化详情_python_
简述
mat参照了函数设计,plot表示绘图的作用,lib则表示一个集合。今年在开源社区的推动下,Matplotlib在科学计算领域得到了广泛的应用,成为Python中应用非常广的绘图工具之一。其中Matplotlib应用最广的是matplotlib.pyplot模块。
matplotlib.pyplot是一个命令风格函数的集合,使得Matplotlib的机制更像MATLAB。每个绘图函数都可对图形进行一些修改,如创建图形,在图形中创建绘图区域,在绘图区域绘制一些线条,使用标签装饰绘图等。在pyplot中,各种状态跨函数调用保存,以便跟踪诸如当前图形和绘图 区域之类的东西,并且绘图函数始终指向当前轴域。本章以pyplot为基础介绍和展开学习。
学习目标 :
- 掌握pyplot常用的绘图参数的调节方法掌
- 握子图的绘制方法
- 掌握绘制图形的保存与展示方法
- 掌握散点图和折线图的作用与绘制方法
- 掌握直方图、饼图和箱线图的作用与绘制方法
掌握绘图基础语法与基本参数 掌握pyplot基础语法
大部分的pyplot图形绘制都遵循一个流程,使用这个流程可以完成大部分图形的绘制。pyplot基本绘图流程主要分为3个部分。

创建画布与创建子图:
构建出一张空白的画布,并可以选择是否将整个画布划分为多个部分,方便在同一幅图上绘制多个图形的情况。当只需要绘制一幅简单的图形时,就可以不用分割。
pyplot创建画布与选中子图的常用函数

添加画布内容:
第二部分是绘图的主体。
包括添加标题、添加坐标名称、绘制图形等步骤是并列的,没有先后。但添加图例一定是在绘制图形之后进行的。
pyplot中添加各类标签和图例的常用函数

保存与显示图形:
第三部分用于保存和显示图形,通常只有两个函数,参数也很少
pyplot中保存额和显示图形的常用函数

pyplot中的基础绘图语法
import numpy as np import matplotlib.pyplot as plt #matplotlib inline表示在行中显示图片,在命令行运行报错 data=np.arange(0110.01) plt.title('lines')# 添加标题 plt.xlabel('x')#添加x轴的名称 plt.ylabel('y')#添加y轴的名称 plt.xlim((0,1))#确定x轴范围 plt.ylim((0,1))#确定y轴范围 plt.xticks([0,0.2,0.4,0.6,0.8,1])#规定x轴刻度 plt.yticks([0,0.2,0.4,0.6,0.8,1])#确定y轴刻度 plt.plot(data,data**2)#添加y=x^2曲线 plt.plot(data,data**4)#添加y=x^4曲线 plt.legend(['y=x^2','y=x^4']) plt.savefig(' 3-1.png') plt.show()
包含子图的基础语法
import numpy as np import matplotlib.pyplot as plt rad = np.arange(0, np.pi * 2, 0.01) # 第一幅子图 p1 = plt.figure(figsize=(8, 6), dpi=80) # 确定画布大小 ax1 = p1.add_subplot(2, 1, 1) # 创建一个2行1列的子图 plt.title('lines') # 添加标题 plt.xlabel('x') # 添加x轴的名称 plt.ylabel('y') # 添加y轴的名称 plt.xlim((0, 1)) # 确定x轴范围 plt.ylim((0, 1)) # 确定y轴范围 plt.xticks([0, 0.2, 0.4, 0.6, 0.8, 1]) # 确定x轴刻度 plt.yticks([0, 0.2, 0.4, 0.6, 0.8, 1]) # 确定y轴刻度 plt.plot(rad, rad ** 2) # 添加曲线 plt.plot(rad, rad ** 4) # 添加曲线 plt.legend(['y=x^2'], ['y=x^4']) # 第二幅子图 ax2 = p1.add_subplot(2, 1, 2) # 开始绘制第二幅 plt.title('sin/cos') plt.xlabel('rad') plt.ylabel('value') plt.xlim((0, np.pi * 2)) plt.ylim((-1, 1)) plt.xticks([0, np.pi / 2, np.pi, np.pi * 1.5, np.pi * 2]) plt.yticks([-1, -0.5, 0, 0.5, 1]) plt.plot(rad, np.sin(rad)) plt.plot(rad, np.cos(rad)) plt.legend(['sin'], ['cos']) plt.savefig('sincos.png') plt.show()
设置pyplot的动态rc参数:
pyplot使用rc配置文件来自定义图形的各种默认属性,被称为rc配置或rc参数。
默认rc参数可以在python交互式环境中动态更改。所有存储在字变量中的rc参数被称为rcParams。rc参数在修改过后,绘图时使用默认的参数就会改变。
调节线条的rc参数
import numpy as np import matplotlib.pyplot as plt # 原图 x = np.linspace(0, 4 * np.pi) y = np.sin(x) plt.plot(x, y, label="$sin(x)$") plt.title('sin') plt.savefig('默认sin曲线.png') plt.show()
import numpy as np import matplotlib.pyplot as plt #修改RC参数后的图 plt.rcParams['lines.linestyle'] = '-.' plt.rcParams['lines.linewidth']=3 plt.plot(x,y,label="$sin(x)$") plt.title('sin') plt.savefig('修改rc参数后sin曲线.png') plt.show()
线条常用的rc参数名称。解释与取值:

lines.linstyle参数取值及其含义:

lines.marker参数取值及其意义:


lines.marker取值含义o圆圈D菱形h六边形1H六边形2-水平线8八边形P五边形,像素+加号None无、点s正方形*星号d小菱形v一角朝下的三角形<一角朝左的三角形>一角朝右的三角形^一角朝上的三角形|竖线xX
调节字体的rc参数
import numpy as np import matplotlib.pyplot as plt # 无法显示中文标题 x = np.linspace(0, 4 * np.pi) y = np.sin(x) plt.plot(x, y, label="$sin(x)$") plt.title('sin曲线') plt.savefig('无法显示中文标题sin曲线.png') plt.show()
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = 'SimHei' # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体 plt.rcParams['axes.unicode_minus'] = False # 这两行需要手动设置 # 修改rc参数后的图 plt.plot(x, y, label='$sin(x)$') plt.title('sin') plt.savefig('修改rc参数后的sin曲线.png') plt.show()
分析特征间的关系
绘制散点图
散点图,是利用坐标即散点的分布形态反映特征间的统计关系的一种图形。值由点在图表中的位置表示,类别由图中的不同标记表示,通常用于比较跨类别的数据。
散点图可以提供两类关键信息:
- 特征之间是否存在数值或者数量的关联趋势,关联趋势是线性的还是非线性的
- 如果某个点或者几个点偏离大多数点,这个点就是离群值,通过散点图可以一目了然,从而可以进一步分析这些离群值是否存在建模分析中产生很大的影响。
scatter函数常用参数及说明:

绘制2000-2017年个季度过敏生产总值散点图
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = 'SimHei' plt.rcParams['axes.unicode_minus'] = False data = np.load('35data.npz/国民经济核算季度数据.npz', allow_pickle=True) name = data['columns'] values = data['values'] plt.figure(figsize=(8, 7)) plt.scatter(values[:, 0], values[:, 2], marker='o') plt.xlabel('年份') plt.ylabel('生产总值(亿元)') plt.ylim((0, 225000)) plt.xticks(range(0, 70, 4), values[range(0, 70, 4), 1], rotation=45) plt.title('绘制2000-2017年个季度过敏生产总值散点图') plt.savefig('绘制2000-2017年个季度过敏生产总值散点图.png') plt.show()
绘制2000-2017年各季度国民生产总值散点图
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = 'SimHei' # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体 plt.rcParams['axes.unicode_minus'] = False # 这两行需要手动设置 plt.figure(figsize=(8, 7)) data = np.load('35data.npz/国民经济核算季度数据.npz', allow_pickle=True) values = data['values'] # 绘制散点图1 plt.scatter(values[:, 0], values[:, 3], marker='o', c='red') # 绘制散点图2 plt.scatter(values[:, 0], values[:, 4], marker='D', c='blue') # 绘制散点图3 plt.scatter(values[:, 0], values[:, 5], marker='v', c='yellow') plt.xlabel('年份') plt.ylabel('生产总值(亿元)') plt.xticks(range(0, 70, 4), values[range(0, 70, 4), 1], rotation=45) plt.title('2000-2017年各季度国民生产总值散点图') plt.legend(['第一产业', '第二产业', '第三产业']) plt.savefig('2000-2017年各季度国民生产总值散点图.png') plt.show()
绘制折线图
折线图:将数据点按照顺序连接起来的图形。适合用于显示随时间而变化的连续数据。同时还可以看出数量的差异,增长趋势的变化。
pyplot绘制折线图的函数为plot,基本语法如下:
matplotlib.pyplot.plot(*args,**kwargs)

提示:
本文由神整理自网络,如有侵权请联系本站删除!
本站声明:
1、本站所有资源均来源于互联网,不保证100%完整、不提供任何技术支持;
2、本站所发布的文章以及附件仅限用于学习和研究目的;不得将用于商业或者非法用途;否则由此产生的法律后果,本站概不负责!
相关内容
- Python Web App开发Dockerfiles编写示例_python_
- Python详细对比讲解break和continue区别_python_
- python利用pd.cut()和pd.qcut()对数据进行分箱操作_python_
- Python绘制交通流折线图详情_python_
- Python实现的可可爱爱的小粽子详解_python_
- python用pd.read_csv()方法来读取csv文件的实现_python_
- pd.read_csv读取文件路径出现的问题解决_python_
- Pyinstaller加密打包成反编译可执行文件_python_
- pandas数据合并之pd.concat()用法详解_python_
- 使用Python实现图像颜色量化的方法_python_
