使用matplotlib在Python中绘制数据的详细教程

 更新时间:2024年10月17日 11:13:37   作者:白如意i  
Python 在处理数据方面非常出色,通常,数据集 会包括多个变量和许多实例,这使得很难理解数据的情况,数据可视化是帮助您识别数据模式的一种有用方式,本教程将描述如何使用 matplotlib 在 Python 中绘制数据,需要的朋友可以参考下

简介

Python 在处理数据方面非常出色。通常,数据集·会包括多个变量和许多实例,这使得很难理解数据的情况。数据可视化是帮助您识别数据模式的一种有用方式。

例如,假设您是一名房地产经纪人,您想要了解房屋的年龄与售价之间的关系。如果您的数据包括 5 栋房屋的数据,那么理解情况就不会太困难。但是,假设您想要使用整个镇上 500 栋房屋的数据,那么理解年龄如何影响价格就会变得非常困难。通过绘制售价与年龄的关系,对数据进行可视化肯定会阐明这两者之间的关系。

可视化是以一种通用方式快速传达概念的方法,特别是对于那些不熟悉您数据的人。每当我们处理数据时,可视化通常是分析的必要部分。

我们将使用 2D 绘图库 matplotlib,最初由 John D. Hunter 编写,自那以后已成为一个非常活跃的开源开发社区项目。它允许您生成高质量的折线图、散点图、直方图、条形图等。每个图以不同的方式呈现数据,通常在确定数据的最具信息量的图之前,尝试不同类型的图表是很有用的。要记住,可视化是艺术和科学的结合。

鉴于可视化的重要性,本教程将描述如何使用 matplotlib 在 Python 中绘制数据。我们将介绍如何使用一小组数据生成散点图,向图表添加标题和图例,并通过更改绘图点的外观来自定义图表。

完成本教程后,您将能够在 Python 中绘制数据!

先决条件

在进行本教程之前,您应该已经安装了 Python 3,并在计算机上设置了本地编程环境。如果不是这种情况,您可以按照适用于您操作系统的相应安装和设置指南进行设置。

步骤 1 — 导入 matplotlib

在我们开始在 Python 中工作之前,让我们再次检查 matplotlib 模块是否已安装。在命令行中,通过运行以下命令检查 matplotlib 是否已安装:

python -c "import matplotlib"

如果 matplotlib 已安装,此命令将顺利完成,我们可以开始了。如果没有安装,您将收到错误消息:

Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'matplolib'

如果收到错误消息,请使用 pip 下载该库:

pip install matplotlib

现在 matplotlib 已安装,我们可以在 Python 中导入它。首先,让我们创建我们将在本教程中使用的脚本:scatter.py。然后,在我们的脚本中,让我们导入 matplotlib。由于我们只会使用绘图模块(pyplot),因此在导入时让我们指定它。

import matplotlib.pyplot as plt

我们通过在 matplotlib 末尾添加 .pyplot 来指定我们希望导入的模块。为了在脚本中更容易地引用该模块,我们将其缩写为 plt。现在,我们可以继续创建和绘制我们的数据。

步骤 2 — 创建要绘制的数据点

在我们的 Python 脚本中,让我们创建一些要处理的数据。我们将使用 2D 数据,因此我们将需要每个数据点的 X 和 Y 坐标。

为了更好地理解 matplotlib 的工作原理,我们将把我们的数据与可能的现实场景联系起来。假设我们是一家咖啡店的老板,我们对一年中的平均天气和冰咖啡的总销量之间的关系感兴趣。我们的 X 变量将是每月销售的冰咖啡总数,我们的 Y 变量将是每个月的华氏平均温度。

在我们的 Python 脚本中,我们将创建两个列表变量:X(冰咖啡总销量)和 Y(平均温度)。我们各自列表中的每个项目将代表每个月的数据(一月到十二月)。例如,在一月份,平均温度为 32 华氏度,咖啡店卖出了 590 杯冰咖啡。

import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

现在我们有了数据,我们可以开始绘图。

步骤 3 — 绘制数据

散点图非常适合用于确定两个变量之间的关系,因此我们将使用这种图表类型作为示例。要使用 matplotlib 创建散点图,我们将使用 scatter() 函数。该函数需要两个参数,分别表示 X 和 Y 坐标值。

import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

plt.scatter(X,Y)
plt.show()

每次创建图表时,我们都必须使用 plt.show() 指定要显示图表。

在继续之前,让我们检查一下我们的脚本是否正常工作。保存脚本并通过命令行运行:

python scatter.py

如果一切顺利,应该会启动一个窗口显示图表,如下所示:

!Alt 散点图

这个窗口非常适合查看数据;它是交互式的,并包括几个功能,比如悬停显示标签和坐标、放大或缩小以及保存。

步骤 4 — 添加标题和标签

现在我们知道我们的脚本正常工作,我们可以开始向图表中添加信息。为了清楚地表明我们的数据代表什么,让我们在图表中包括一个标题以及每个轴的标签。

我们将从添加标题开始。我们在脚本的 plt.show() 行之前添加标题。

import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

plt.scatter(X,Y)

plt.title('温度与冰咖啡销量之间的关系')

plt.show()

接下来,在 plt.title 行下方添加轴的标签:

...
plt.xlabel('售出的冰咖啡杯数')
plt.ylabel('华氏温度')
...

如果我们保存脚本并再次运行它,现在应该会得到一个更新的图表,更具信息性。我们的更新后的图表应该看起来像这样:

!Alt 带有标题和 X/Y 标签的散点图

步骤 5 — 自定义图表

我们处理的每个数据集都是独特的,能够自定义我们希望如何显示信息非常重要。记住,可视化也是一门艺术,所以可以在其中发挥创意!matplotlib 包括许多自定义功能,比如不同的颜色、点符号和大小。根据我们的需求,我们可能想尝试不同的比例,为我们的轴使用不同的范围。我们可以通过指定轴的新范围来更改默认参数,如下所示:

import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

plt.scatter(X,Y)

plt.xlim(0,1000)
plt.ylim(0,100)

plt.title('温度与冰咖啡销量之间的关系')

plt.show()
...

原始图表中的点看起来有点小,蓝色可能不是我们想要的颜色。也许我们想要三角形而不是圆圈作为点的符号。如果我们想要更改点的实际颜色/大小/形状,我们必须在初始的 plt.scatter() 调用中进行这些更改。我们将更改以下参数:

  • s:点的大小,默认值为 20
  • c:颜色、序列或颜色序列,默认值为 ‘b’
  • marker:点符号,默认值为 ‘o’

可能的标记包括许多不同的形状,如菱形、六边形、星形等。颜色选择包括蓝色、绿色、红色和洋红色等。还可以提供 HTML 十六进制字符串作为颜色。请参阅 matplotlib 的文档,了解可能的标记和颜色的全面列表。

为了使我们的图表更易于阅读,让我们将点的大小加倍(s=60),将颜色更改为红色(c='r'),并将符号更改为三角形(marker='^')。我们将修改 plt.scatter() 函数:

plt.scatter(X, Y, s=60, c='red', marker='^')

在运行更新后的脚本之前,我们可以再次检查我们的代码是否正确。自定义图表的更新脚本应该看起来像这样:

import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

#散点图

plt.scatter(X, Y, s=60, c='red', marker='^')

#更改坐标轴范围

plt.xlim(0,1000)
plt.ylim(0,100)

#添加标题

plt.title('温度与冰咖啡销量的关系')

#添加 x 和 y 轴标签

plt.xlabel('售出冰咖啡杯数')
plt.ylabel('华氏温度')

#显示图表

plt.show()

不要忘记在进行第 6 步之前保存你的脚本。

步骤 6 — 保存图表

现在我们已经完成了代码,让我们运行它来查看我们新定制的图表。

python scatter.py

现在应该会打开一个窗口显示我们的图表:

!Alt 带有标题和 X/Y 标签的最终散点图,并使用更大、红色、三角形点进行定制。

接下来,通过单击保存按钮(位于底部工具栏上的磁盘图标)来保存图表。请记住,图像将被保存为 PNG 格式,而不是交互式图表。恭喜你,现在你拥有自己定制的散点图!

结论

在本教程中,你学会了如何使用 Python 中的 matplotlib 绘制数据。现在你可以可视化数据并定制图表。

以上就是使用matplotlib在Python中绘制数据的详细教程的详细内容,更多关于 Python matplotlib绘制数据的资料请关注脚本之家其它相关文章!

相关文章

  • python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)

    python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)

    这篇文章主要介绍了python虚拟环境的安装和配置(virtualenv,virtualenvwrapper),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python Selenium模块安装使用教程详解

    Python Selenium模块安装使用教程详解

    这篇文章主要介绍了Python Selenium模块安装使用教程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 关于python中的setup.py

    关于python中的setup.py

    distutils 的精髓在于编写 setup.py,它是模块分发与安装的指导文件,那么如何编写 setup.py 呢?这里面的内容非常多,我会在本文给大家详细讲解,对python setup.py相关知识感兴趣的朋友一起看看吧
    2022-08-08
  • python如何将多个PDF进行合并

    python如何将多个PDF进行合并

    这篇文章主要为大家详细介绍了python如何将多个PDF进行合并,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • python数组转换为矩阵的方法实现

    python数组转换为矩阵的方法实现

    本文主要介绍了python数组转换为矩阵的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 关于Pytorch的MLP模块实现方式

    关于Pytorch的MLP模块实现方式

    今天小编就为大家分享一篇关于Pytorch的MLP模块实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python多进程multiprocessing、进程池用法实例分析

    Python多进程multiprocessing、进程池用法实例分析

    这篇文章主要介绍了Python多进程multiprocessing、进程池用法,结合实例形式分析了Python多进程multiprocessing、进程池相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-03-03
  • Python实现的调用C语言函数功能简单实例

    Python实现的调用C语言函数功能简单实例

    这篇文章主要介绍了Python实现的调用C语言函数功能,结合简单实例形式分析了Python使用ctypes模块调用C语言函数的具体步骤与相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • Django使用Profile扩展User模块方式

    Django使用Profile扩展User模块方式

    这篇文章主要介绍了Django使用Profile扩展User模块方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 卷积神经网络如何实现提取特征

    卷积神经网络如何实现提取特征

    这篇文章主要介绍了卷积神经网络如何实现提取特征问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04

最新评论