数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

这篇具有很好参考价值的文章主要介绍了数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是爱吃熊掌的鱼,今天我要给大家带来一篇有趣开朗的Matplotlib Python教程。Matplotlib是Python中最流行的数据可视化库之一,它可以帮助我们将数据转化为易于理解的图表和图形。无论你是初学者还是专业人士,Matplotlib都是一个非常有用的工具。让我们开始吧!

第一部分:安装Matplotlib

在开始之前,我们需要先安装Matplotlib。在终端或命令行中运行以下命令来安装Matplotlib:

pip install matplotlib

如果你使用的是Jupyter Notebook或者是Google Colab这样的交互式笔记本,可以使用以下命令来安装Matplotlib:

pip install matplotlib

安装完成后,我们就可以开始使用Matplotlib了。

第二部分:Matplotlib的基础知识

在使用Matplotlib之前,我们需要了解一些基础知识。Matplotlib中最常用的对象是Figure和Axes对象。

  • Figure对象是一个画布,我们可以在上面绘制多个Axes对象。
  • Axes对象是一个包含图形和坐标轴的区域。我们可以在Axes对象上绘制数据。

在Matplotlib中,我们可以使用pyplot子模块来绘制图形。以下是绘制图形的基本步骤:

  1. 创建一个Figure对象。
  2. 创建一个Axes对象。
  3. 在Axes对象上绘制数据。
  4. 显示图形。

下面是一个简单的例子:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
# 创建一个Figure对象
fig = plt.figure()

# 创建一个Axes对象
ax = fig.add_subplot(111)

# 在Axes对象上绘制数据
ax.plot([1, 2, 3, 4], [1, 4, 9, 16])

# 显示图形
plt.show()

数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

以上代码创建了一个简单的折线图。我们使用plot()函数在Axes对象上绘制了数据,并使用show()函数显示了图形。

第三部分:绘制不同类型的图形

在Matplotlib中,我们可以绘制多种类型的图形,包括线图、柱状图、散点图、饼图等等。接下来,我们将介绍如何绘制不同类型的图形。

折线图

折线图是一种常见的数据可视化图形,用于显示数据随时间或其他变量的变化情况。在Matplotlib中,我们可以使用plot()函数来绘制折线图。

以下是一个简单的例子:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
# 创建一个Figure对象
fig = plt.figure()

# 创建一个Axes对象
ax = fig.add_subplot(111)

# 在Axes对象上绘制折线图
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
ax.plot(x, y)

# 添加标题和标签 
ax.set_title("折线图") 
ax.set_xlabel("X轴") 
ax.set_ylabel("Y轴")
# 显示图形
plt.show()

数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

以上代码创建了一个简单的折线图。我们使用plot()函数在Axes对象上绘制了折线,并使用set_title()、set_xlabel()和set_ylabel()函数添加了标题和标签。

柱状图

柱状图用于比较多个项目之间的数据。在Matplotlib中,我们可以使用bar()函数来绘制柱状图。

以下是一个简单的例子:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
# 创建一个Figure对象
fig = plt.figure()

# 创建一个Axes对象
ax = fig.add_subplot(111)

# 在Axes对象上绘制柱状图
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
ax.bar(x, y)

# 添加标题和标签
ax.set_title("柱状图")
ax.set_xlabel("X轴")
ax.set_ylabel("Y轴")

# 显示图形
plt.show()

数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

以上代码创建了一个简单的柱状图。我们使用bar()函数在Axes对象上绘制了柱状图,并使用set_title()、set_xlabel()和set_ylabel()函数添加了标题和标签。

散点图

散点图用于显示两个变量之间的关系。在Matplotlib中,我们可以使用scatter()函数来绘制散点图。

以下是一个简单的例子:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
# 创建一个Figure对象
fig = plt.figure()

# 创建一个Axes对象
ax = fig.add_subplot(111)

# 在Axes对象上绘制散点图
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
ax.scatter(x, y)

# 添加标题和标签
ax.set_title("散点图")
ax.set_xlabel("X轴")
ax.set_ylabel("Y轴")

# 显示图形
plt.show()

数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

以上代码创建了一个简单的散点图。我们使用scatter()函数在Axes对象上绘制了散点图,并使用set_title()、set_xlabel()和set_ylabel()函数添加了标题和标签。

饼图

饼图用于显示不同类别的占比情况。在Matplotlib中,我们可以使用pie()函数来绘制饼图。

以下是一个简单的例子:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
# 创建一个Figure对象
fig = plt.figure()

# 创建一个Axes对象
ax = fig.add_subplot(111)

# 在Axes对象上绘制饼图
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
ax.pie(sizes, labels=labels)

# 添加标题
ax.set_title("饼图")

# 显示图形
plt.show()

数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

以上代码创建了一个简单的饼图。我们使用pie()函数在Axes对象上绘制了饼图,并使用set_title()函数添加了标题。

第四部分:Matplotlib的高级功能

除了基本的绘图功能之外,Matplotlib还提供了许多高级功能,可以帮助我们更好地控制图形的样式和布局。接下来,我们将介绍一些Matplotlib的高级功能。

子图

Matplotlib中的子图是一种将多个图形组合在一起显示的方式。在Matplotlib中,我们可以使用subplot()函数来创建子图。

以下是一个简单的例子:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
# 创建一个Figure对象
fig = plt.figure()

# 创建一个包含2个子图的GridSpec对象
gs = fig.add_gridspec(1, 2)

# 创建第一个子图
ax1 = fig.add_subplot(gs[0, 0])
ax1.plot([1, 2, 3], [1, 2, 3])
ax1.set_title("子图1")

# 创建第二个子图
ax2 = fig.add_subplot(gs[0, 1])
ax2.plot([1, 2, 3], [3, 2, 1])
ax2.set_title("子图2")

# 显示图形
plt.show()

数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

以上代码创建了一个包含2个子图的图形。我们使用add_gridspec()函数创建了一个包含1行2列的GridSpec对象,并使用add_subplot()函数在GridSpec对象上创建了两个子图。在设置子图的标题时,我们使用了set_title()函数。

图例

Matplotlib中的图例用于解释图形中不同元素的含义。在Matplotlib中,我们可以使用legend()函数来添加图例。

以下是一个简单的例子:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
# 创建一个Figure对象
fig = plt.figure()

# 创建一个Axes对象
ax = fig.add_subplot(111)

# 在Axes对象上绘制折线图
x = [1, 2, 3, 4]
y1 = [1, 4, 9, 16]
y2 = [1, 2, 3, 4]
ax.plot(x, y1, label='数据集1')
ax.plot(x, y2, label='数据集2')

# 添加图例
ax.legend()

# 添加标题和标签
ax.set_title("折线图")
ax.set_xlabel("X轴")
ax.set_ylabel("Y轴")

# 显示图形
plt.show()

数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

以上代码创建了一个包含图例的折线图。我们在绘制折线图时,使用label参数指定了每个数据集的名称,并在添加图例时使用legend()函数。在设置图形的标题和标签时,我们使用了set_title()、set_xlabel()和set_ylabel()函数。

注释

在Matplotlib中,我们可以使用annotate()函数向图形中添加注释。注释可以用于解释图形中的某些特殊点或区域。

以下是一个简单的例子:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
# 创建一个Figure对象
fig = plt.figure()

# 创建一个Axes对象
ax = fig.add_subplot(111)

# 在Axes对象上绘制折线图
x = [1, 2, 3, 4]
y = [1, 4, 9, 16] 
ax.plot(x, y)

# 添加注释

ax.annotate('最大值', xy=(3, 9), xytext=(2, 12), arrowprops=dict(facecolor='red', shrink=0.05))

# 添加标题和标签

ax.set_title("折线图") 
ax.set_xlabel("X轴") 
ax.set_ylabel("Y轴")

# 显示图形

plt.show()

数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

以上代码创建了一个包含注释的折线图。我们使用annotate()函数向图形中添加注释,指定注释文本的位置和箭头的属性。在设置图形的标题和标签时,我们使用了set_title()、set_xlabel()和set_ylabel()函数。

保存图形

在Matplotlib中,我们可以使用savefig()函数将图形保存为文件。Matplotlib支持多种文件格式,包括PNG、PDF、SVG和EPS等。

以下是一个简单的例子:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
# 创建一个Figure对象
fig = plt.figure()

# 创建一个Axes对象
ax = fig.add_subplot(111)

# 在Axes对象上绘制折线图
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
ax.plot(x, y)

# 添加标题和标签
ax.set_title("折线图")
ax.set_xlabel("X轴")
ax.set_ylabel("Y轴")

# 保存图形
plt.savefig('line_chart.png')

# 显示图形
plt.show()

数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

以上代码将绘制的折线图保存为PNG格式的文件。我们在调用savefig()函数时,指定了保存文件的名称和格式。

问题总结

错误1

问题错误代码
C:\Program Files\JetBrains\PyCharm 2022.3.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:68: UserWarning: Glyph 36724 (\N{CJK UNIFIED IDEOGRAPH-8F74}) missing from current font.
  FigureCanvasAgg.draw(self)
C:\Program Files\JetBrains\PyCharm 2022.3.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:68: UserWarning: Glyph 25240 (\N{CJK UNIFIED IDEOGRAPH-6298}) missing from current font.
  FigureCanvasAgg.draw(self)
C:\Program Files\JetBrains\PyCharm 2022.3.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:68: UserWarning: Glyph 32447 (\N{CJK UNIFIED IDEOGRAPH-7EBF}) missing from current font.
  FigureCanvasAgg.draw(self)
C:\Program Files\JetBrains\PyCharm 2022.3.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:68: UserWarning: Glyph 22270 (\N{CJK UNIFIED IDEOGRAPH-56FE}) missing from current font.
  FigureCanvasAgg.draw(self)
问题原因

这些警告是因为缺少相应字形的字体。这些字形是CJK(中日韩)统一表意文字(Unicode中的汉字和其他东亚象形文字)。如果你需要在Matplotlib图表中使用这些字形,可以尝试安装包含它们的字体,比如SimSun、SimHei、STSong等中文字体。

解决方案

在Matplotlib中,你可以使用rcParams参数来设置全局的字体,或者在每个图表中单独设置字体。比如,你可以使用如下代码将全局的字体设置为SimHei:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'

或者在绘制图表时,使用如下代码设置字体:

import matplotlib.pyplot as plt
plt.plot(x, y)
plt.xlabel('横轴', fontproperties='SimHei')
plt.ylabel('纵轴', fontproperties='SimHei')
plt.show()

这样就可以使用SimHei字体绘制图表了,就不会出现那些报错了。

有其他问题可以私信我,看到就会回的。

如果我的博客对你有帮助,请三连谢谢。文章来源地址https://www.toymoban.com/news/detail-420266.html

到了这里,关于数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python Matplotlib 动画教程:提高可视化吸引力的强大工具【第24篇—python:Matplotlib】

    动画是提高可视化吸引力和用户吸引度的优秀手段。它能够以有意义的方式展示数据可视化。Python提供了强大的库,使我们能够轻松创建动画可视化。Matplotlib是一个广受欢迎的数据可视化库,通常用于绘制数据图表以及创建基于内置函数的动画。 使用Matplotlib创建动画有两种

    2024年01月20日
    浏览(38)
  • 基于Python的疫情数据可视化(matplotlib,pyecharts动态地图,大屏可视化)

    有任何学习问题可以加我微信交流哦!bmt1014 1、项目需求分析 1.1背景 2020年,新冠肺炎疫情在全球范围内爆发,给人们的健康和生命带来了严重威胁,不同国家和地区的疫情形势也引起了广泛的关注。疫情数据的监测和分析对疫情防控和科学防治至关重要。本报告以疫情数据

    2024年02月05日
    浏览(34)
  • Matplotlib:Python数据可视化的全面指南

    数据可视化是数据分析的一个重要方面,可以帮助我们有效地传达数据中的洞察和模式。Python提供了几个用于数据可视化的库,其中最突出和广泛使用的是Matplotlib。在本文中,我们将探索Matplotlib的基本概念和功能,并学习如何创建各种类型的图表和图形。 在深入了解Matplo

    2024年02月10日
    浏览(31)
  • Matplotlib Mastery: 从基础到高级的数据可视化指南【第30篇—python:数据可视化】

    Matplotlib是一个功能强大的数据可视化库,为数据科学家提供了丰富的工具和功能,可以以直观的方式呈现数据。 1. 基础 1.1 安装Matplotlib 在使用Matplotlib之前,请确保已经安装了Matplotlib库。可以使用以下命令进行安装: 1.2 创建第一个简单的图表 安装好Matplotlib后,让我们来创

    2024年01月21日
    浏览(35)
  • Python-数据可视化:matplotlib模块、pyecharts模块

    返回Python系列文章目录 matplotlib 是一个基于python 的绘图库,完全支持二维图像,有限支持三维图形,Matplotlib是python编程语言及其数据科学扩展包NumPy的可视化操作界面库。 matplotlib模块 导入方式 可参考文章:Python之数据可视化——matplotlib系统介绍 Echarts 是一个由百度开源的

    2024年02月08日
    浏览(34)
  • python数据可视化神库:Matplotlib快速入门

    Matplotlib易于使用,是Python中了不起的可视化库。它建立在NumPy数组的基础上,旨在与更广泛的SciPy堆栈一起工作,并由几个图组成:线图、条形图、散点图、直方图等。 在上面的例子中,X和Y的元素提供了X轴和Y轴的坐标,并根据这些坐标绘制了一条直线。 Pyplot是一个Matplotli

    2023年04月27日
    浏览(28)
  • 【python】数据可视化——解决matplotlib显示中文乱码

    D:anaconda3envstest1libtkinter_ init _.py:839: UserWarning: Glyph 31532 (N{CJK UNIFIED IDEOGRAPH-7B2C}) missing from current font. func(*args) D:anaconda3envstest1libtkinter_ init _.py:839: UserWarning: Glyph 19968 (N{CJK UNIFIED IDEOGRAPH-4E00}) missing from current font. func(*args) D:anaconda3envstest1libtkinter_ init _.py:839: UserWarnin

    2024年01月22日
    浏览(37)
  • Python Matplotlib数据可视化绘图之(一)————柱状图

    本文我们主要介绍利用Python中的Matplotlib模块进行几种柱状图的画法,包括整张图片只有一种颜色的不分组柱状图、整张图片有好几种颜色的不分组柱状图、整张图片有好几种颜色的分组柱状图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 语言种类

    2024年02月06日
    浏览(38)
  • Python Matplotlib数据可视化绘图之(二)————箱线图

    本文我们主要介绍利用Python中的Matplotlib模块进行几种箱线图的画法,包括整张图片只有一种颜色的不分组箱线图、整张图片有好几种颜色的不分组箱线图、整张图片有好几种颜色的分组箱线图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 班别 语文成

    2024年02月05日
    浏览(38)
  • Python Matplotlib数据可视化绘图之(三)————散点图

    文本 本文我们主要介绍利用Python中的Matplotlib模块进行几种散点图的画法,包括整张图片只有一种颜色的不分组散点图、整张图片有好几种颜色的不分组散点图、整张图片有好几种颜色的分组散点图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 班别

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包