前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matplotlib数据可视化

matplotlib数据可视化

作者头像
mindtechnist
发布2024-08-08 17:27:14
650
发布2024-08-08 17:27:14
举报
文章被收录于专栏:机器和智能
数据可视化

如果将文本数据和图表数据放在一起,人类的思维模式可能更适合于理解图表数据,因为图表数据更加直观、形象。使用图表来表示数据的方法就叫做数据可视化。可视化是在整个数据挖掘的关键辅助工具,可以帮助我们清晰的理解数据,从而调整我们的分析方法。通过可视化,能将数据更直观的呈现出来,使数据更加客观、更具说服力。

常用的数据可视化图表主要有以下五种:

什么是matplotlib

Matplotlib 是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy ndarray 数组(NumPy 是 Python 科学计算的软件包,ndarray 则是 NumPy 提供的一种数组结构)来绘制 2D 图像。

matplotlib 是 Python 中类似于 matlab的绘图工具,是一个常用的 2D 绘图库,当然它也提供了3D绘图接口。如果有matlab的使用经验,学习matplotlib还是很快的。matplotlib 提供了一套API来支持面向对象绘图,配合 Python GUI 工具包(比如 PyQt,WxPython、Tkinter)在应用程序中嵌入图形。与此同时,matplotlib也支持以脚本的形式在 Python、IPython Shell、JupyterNotebook 以及 Web 应用的服务器中使用,非常方便。作为Python 中最受欢迎的数据可视化软件包之一,matplotlib支持跨平台运行,它通常与NumPy、Pandas一起使用,是数据分析中不可或缺的重要工具之一。

①脚本层scripting

脚本层是matplotlib 结构中的最顶层。我们编写的绘图代码大部分代码都在该层运行,它的主要工作是负责生成图形与坐标系。

②美工层artist

美工层是结构中的第二层,它提供了绘制图形的元素时的给各种功能,例如,绘制标题、轴标签、坐标刻度等。

③后端层backend

后端层是 matplotlib 最底层,它定义了三个基本类,首先是 FigureCanvas(图层画布类),它提供了绘图所需的画布,其次是 Renderer(绘图操作类),它提供了在画布上进行绘图的各种方法,最后是 Event(事件处理类),它提供了用来处理鼠标和键盘事件的方法。

Matplotlib的图像组成如下图所示

  • Figure:指整个图形,可以把它理解成一张画布,它包括了所有的元素,比如标题、轴线等;
  • Axes:绘制 2D 图像的实际区域,也称为轴域区,或者绘图区;
  • Axis:指坐标系中的垂直轴与水平轴,包含轴的长度大小、轴标签(指 x 轴,y轴)和刻度标签;
  • Artist:在画布上看到的所有元素都属于 Artist 对象,比如文本对象(title、xlabel、ylabel)、Line2D 对象(用于绘制2D图像)等。

安装matplotlib

matplotlib是专门用于开发2D图表(包括3D图表),以渐进、交互式方式实现数据可视化。如果你用过matlab的话,可以简单理解为和matlab有类似的功能。

安装matplotlib,直接在命令行输入(在cmd命令行输入py -0p可查看python解释器安装路径,如果pycharm提示找不到python.exe可能就是解释器路径错误)

代码语言:javascript
复制
pip3 install matplotlib

安装后,便可以在jupyter notebook或者pycharm等其他环境使用进行数据可视化

在pyharm中使用matplotlib模块的时候,可能会出现报错

解决方法如下

首先点击“文件-设置”

进入后,选择“项目-project interpreter”,点击加号

在弹框中搜索matplotlib,并安装即可

至此,安装成功。

另一个比较好的安装方法是通过下载 Python 的 Anaconda 发行版,Anaconda 是一个开源的 Python 发行版本,其包含了 Python、NumPy、Matplotlib 等180多个科学包及其依赖项。

首先,进入 Anaconda 的官方网站(https://www.anaconda.com/download),然后单击“Download”按钮,如下图所示:

根据自己的Python解释器的版本下载相应版本即可。并且Anconda 中提供了一个交互式笔记本 Jupyter。

matplotlib.pyplot API介绍

Matplotlib 中的 pyplot 模块是一个类似命令风格的函数集合,和 MATLAB 非常相似。pyplot 模块提供了可以用来绘图的各种函数,比如创建一个画布,在画布中创建一个绘图区域,或是在绘图区域添加一些线、标签等。主要如下:

matplotlib绘图示例

代码语言:javascript
复制
import matplotlib.pyplot as plt

import random



# 通过折线图展示温度变化



# 准备数据

x = range(60)

y_shanghai = [random.uniform(15, 18) for i in x]



# 创建画布

plt.figure(figsize=(20, 8), dpi=80)



# 构造x轴刻度标签

x_ticks_label = ["11:{}".format(i) for i in x]

# 构造y轴刻度

y_ticks = range(40)



# 修改x,y轴坐标的刻度显示

plt.xticks(x[::5], x_ticks_label[::5])

plt.yticks(y_ticks[::5])



# 添加网格显示

plt.grid(True, linestyle='--', alpha=0.5)



# 添加x轴、y轴描述信息及标题

plt.xlabel("time")

plt.ylabel("temperature")

plt.title("Temperature variation chart", fontsize=20)



# 绘制折线图

plt.plot(x, y_shanghai)



# 保存图片到指定路径 plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。

# plt.savefig("test.png")



# 显示图像

plt.show()

结果如下

我们也可以通过参数设置线的风格

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器和智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档