【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

这篇具有很好参考价值的文章主要介绍了【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》
😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

1、前言

Matplotlib支持多种绘制多图的方法,其中最常用的是subplot和subplots函数。subplot函数可以将一个图像分成若干个小区域,并在其中绘制子图,而subplots函数可以一次性创建多个子图,并返回一个包含所有子图的数组对象。在绘制多图时,我们可以通过调整子图的排列方式、大小、间距等参数来满足不同的需求,从而使得图像更加美观、直观、易于理解。
【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

2、subplot()函数

subplot 函数是 Matplotlib 库中用于创建子图的函数。它允许在一个图形窗口中创建多个子图,并指定子图的布局。

subplot 函数的语法如下:

subplot(nrows, ncols, index, **kwargs)

参数说明:

  • nrows:表示子图布局的行数。
  • ncols:表示子图布局的列数。
  • index:表示当前子图在布局中的索引。索引从左上角开始,从左到右,从上到下递增。可以使用整数或元组 (row, col, index) 来指定索引。
  • **kwargs:可选参数,用于设置子图的其他属性。

2.1创建一个包含 2x2 的子图布局,并在每个子图中绘制不同的图形

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
y4 = np.exp(x)

# 创建子图布局
plt.subplot(2, 2, 1)
plt.plot(x, y1)
plt.title('Sin(x)')

plt.subplot(2, 2, 2)
plt.plot(x, y2)
plt.title('Cos(x)')

plt.subplot(2, 2, 3)
plt.plot(x, y3)
plt.title('Tan(x)')

plt.subplot(2, 2, 4)
plt.plot(x, y4)
plt.title('Exp(x)')

# 调整子图之间的间距
plt.tight_layout()

# 显示图形
plt.show()

【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

我们创建了一个 2x2 的子图布局,共有四个子图。在每个子图中,我们使用 subplot 函数指定子图的位置,然后分别绘制了不同的图形。

2.2创建一个包含 1x3 的子图布局,并绘制三种不同类型的图形

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.exp(-x)
y3 = np.log(x)

# 创建子图布局
plt.subplot(1, 3, 1)
plt.plot(x, y1)
plt.title('Sin(x)')

plt.subplot(1, 3, 2)
plt.plot(x, y2)
plt.title('Exp(-x)')

plt.subplot(1, 3, 3)
plt.plot(x, y3)
plt.title('Log(x)')

# 调整子图之间的间距
plt.tight_layout()

# 显示图形
plt.show()

【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

2.3创建一个包含 2 行 1 列的子图布局,绘制散点图和柱状图

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
np.random.seed(0)
x = np.arange(1, 11)
y1 = np.random.randint(1, 10, size=10)
y2 = np.random.randint(1, 10, size=10)

# 创建子图布局
plt.subplot(2, 1, 1)
plt.scatter(x, y1, color='r')
plt.title('Scatter Plot')

plt.subplot(2, 1, 2)
plt.bar(x, y2, color='b')
plt.title('Bar Plot')

# 调整子图之间的间距
plt.tight_layout()

# 显示图形
plt.show()

【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

我们创建了一个包含 2 行 1 列的子图布局,总共有两个子图。在第一个子图中,我们使用 scatter 函数绘制了散点图,展示了随机生成的点的分布。在第二个子图中,我们使用 bar 函数绘制了柱状图,展示了另一组随机生成的数据。
使用 subplot 函数指定子图的位置和布局,然后在每个子图中绘制了不同类型的图形。最后,使用 tight_layout 函数调整子图之间的间距,并通过 show 函数显示图形。

3、subplots()函数

subplots 函数是 Matplotlib 库中用于创建多个子图的函数。它可以方便地创建包含多个子图的图形窗口,并提供更灵活的子图布局选项。

subplots 函数的语法如下:

subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, **fig_kw)

参数说明:

  • nrows:表示子图布局的行数,默认为 1。
  • ncols:表示子图布局的列数,默认为 1。
  • sharex:设置是否共享 x 轴刻度,默认为 False。
  • sharey:设置是否共享 y 轴刻度,默认为 False。
  • squeeze:设置是否自动压缩子图布局,默认为 True。
  • **fig_kw:可选参数,用于设置图形窗口的其他属性。

3.1创建一个包含 2 行 2 列的子图布局,并在每个子图中绘制不同类型的图形

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
y4 = np.exp(x)

# 创建子图布局
fig, axs = plt.subplots(2, 2, figsize=(8, 6))

# 子图1
axs[0, 0].plot(x, y1)
axs[0, 0].set_title('Sin(x)')

# 子图2
axs[0, 1].plot(x, y2)
axs[0, 1].set_title('Cos(x)')

# 子图3
axs[1, 0].plot(x, y3)
axs[1, 0].set_title('Tan(x)')

# 子图4
axs[1, 1].plot(x, y4)
axs[1, 1].set_title('Exp(x)')

# 调整子图之间的间距
plt.tight_layout()

# 显示图形
plt.show()

【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

我们使用 subplots 函数创建了一个包含 2 行 2 列的子图布局,并返回了一个包含子图对象的数组 axs。在每个子图中,我们通过索引 axs[row, col] 访问子图对象,并在每个子图中绘制了不同类型的图形。

3.2创建一个包含 1 行 3 列的子图布局,绘制散点图和柱状图

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
np.random.seed(0)
x = np.arange(1, 11)
y1 = np.random.randint(1, 10, size=10)
y2 = np.random.randint(1, 10, size=10)

# 创建子图布局
fig, axs = plt.subplots(1, 3, figsize=(12, 4))

# 子图1 - 散点图
axs[0].scatter(x, y1, color='r')
axs[0].set_title('Scatter Plot')

# 子图2 - 柱状图
axs[1].bar(x, y2, color='b')
axs[1].set_title('Bar Plot')

# 子图3 - 折线图
axs[2].plot(x, y1, color='g')
axs[2].plot(x, y2, color='m')
axs[2].set_title('Line Plot')

# 调整子图之间的间距
plt.tight_layout()

# 显示图形
plt.show()

【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

3.3创建一个包含 2 行 2 列的子图布局,绘制多种不同的图形

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
np.random.seed(0)
x = np.linspace(0, 5, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
y4 = np.exp(x)

# 创建子图布局
fig, axs = plt.subplots(2, 2, figsize=(10, 8))

# 子图1 - 折线图
axs[0, 0].plot(x, y1, color='r')
axs[0, 0].set_title('Sin(x)')

# 子图2 - 散点图
axs[0, 1].scatter(x, y2, color='g')
axs[0, 1].set_title('Cos(x)')

# 子图3 - 柱状图
axs[1, 0].bar(x, y3, color='b')
axs[1, 0].set_title('Tan(x)')

# 子图4 - 面积图
axs[1, 1].fill_between(x, 0, y4, color='m')
axs[1, 1].set_title('Exp(x)')

# 调整子图之间的间距
plt.tight_layout()

# 显示图形
plt.show()

【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

4、random函数绘制多种不一样的子图

根据 random 函数生成随机数据,我们可以绘制多种不同的子图。下面是一个例子,展示了如何使用 random 函数创建多个子图。

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.linspace(0, 10, 100)
y1 = np.random.rand(100)
y2 = np.random.randn(100)
y3 = np.random.randint(1, 10, 100)

# 创建子图
fig, axs = plt.subplots(2, 2, figsize=(10, 8))

# 子图1
axs[0, 0].plot(x, y1, color='r')
axs[0, 0].set_title('Random Numbers (0-1)')

# 子图2
axs[0, 1].scatter(x, y2, color='g')
axs[0, 1].set_title('Random Numbers (Normal Distribution)')

# 子图3
axs[1, 0].bar(x, y3, color='b')
axs[1, 0].set_title('Random Integers (1-10)')

# 子图4
axs[1, 1].hist(y1, bins=10, color='m')
axs[1, 1].set_title('Histogram of Random Numbers (0-1)')

# 调整子图之间的间距
plt.tight_layout()

# 显示图形
plt.show()

【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

5、matplotlib相关图书推荐

【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图

5.1内容简介

在大数据时代背景下,统计学作为数据分析领域的基础,被应用于各行各业,其方法发挥着重要作用。为了更广泛地普及统计学知识,培养更多的统计学人才,本书应运而生。
作为入门级图书,本书内容安排如下。第1章从不确定性出发,讲述统计学和不确定性的关系,以及统计学中用于描述不确定性的各种概率模型。第2章是参数估计,系统讲述统计学中矩估计和极大似然估计两种常用的参数估计方法,并基于两种方法介绍各种常见概率分布中参数的点估计和区间估计。第3章是假设检验,首先从不确定性的角度探讨实际中的各种决策问题,帮助读者理解假设检验的思想和应用场景,然后系统介绍假设检验的方法论及各种常见推广。第4章是回归分析,首先介绍回归分析的思想和广泛的应用场景,然后系统地介绍各类常用模型,从线性回归到广义线性回归,最终落脚到两种机器学习算法(决策树、神经网络)。
本书特别强调实际应用,因此各个章节都辅以大量的实际案例,在介绍统计学基础知识的同时培养读者使用统计学方法解决实际问题的能力。

5.2作者简介

王汉生:北京大学光华管理学院商务统计与经济计量系教授,博导。国家杰出青年基金获得者,教育部长江学者特聘教授,美国统计学会(ASA)Fellow,国际统计协会(ISI) Elected Member。先后历任9个国际学术期刊副主编(Associate Editor)。在国内外各种专业杂志上发表文章100+篇,并合著有英文专著1本、中文教材4本。
王菲菲:中国人民大学统计学院副教授,硕士生导师。北京大学光华管理学院商务统计与经济计量系博士。研究兴趣为文本挖掘、网络结构数据分析、大规模数据的统计建模等。在国内外高水平期刊发表论文20余篇,曾多次获得中国人民大学教学类奖项。热衷案例创作,是微信公众号“狗熊会”精品案例系列的案例组长。

🎉本次送 3本书 ,评论区抽3位小伙伴送书
🎉活动时间:截止到 2023-05-15 14:00:00
🎉抽奖方式:利用爬虫进行随机抽奖。
🎉参与方式:关注博主、点赞、收藏,评论区评论 “我要学习Matplotlib!
ps:一定要关注博主,不然中奖后将无效
🎉通知方式:通过动态与私信与本文最后同时公布
🎉获奖名单:
码银
山山而川442
好多漁

🎉感兴趣的小伙伴也可以访问下面的链接了解详情:
京东自营购买链接:https://item.jd.com/10069307972258.html

📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗文章来源地址https://www.toymoban.com/news/detail-442458.html

到了这里,关于【数据分析之道-Matplotlib(三)】Matplotlib 绘制子图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【数据分析之道-Matplotlib(五)】Matplotlib柱状图

    ✍ 作者简介: i阿极 ,CSDN Python领域新星创作者, 专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》 ,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。 ✍ 订阅后,可以阅读《数据分析之道》中全部文章内容

    2024年02月07日
    浏览(35)
  • 【数据分析之道-Matplotlib(九)】Matplotlib棉棒图

    ✍ 作者简介: i阿极 ,CSDN 数据分析领域优质创作者, 专注于分享python数据分析领域知识。 ✍ 本文录入于《数据分析之道》 ,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。 ✍ 订阅后,可以阅读《数据分析之道》中

    2024年02月09日
    浏览(39)
  • 【数据分析之道-Matplotlib(七)】Matplotlib直方图

    ✍ 作者简介: i阿极 ,CSDN Python领域新星创作者, 专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》 ,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。 ✍ 订阅后,可以阅读《数据分析之道》中全部文章内容

    2024年02月08日
    浏览(41)
  • python数据分析-matplotlib散点图-条形图的绘制以及完整方法归纳02

    散点图的绘制使用的是scatter()方法,传入的参数也是两个列表,分别为x,y坐标轴的值使用散点图可以显示若干数列序列中各数值之间是否存在相关性. 1.导入模块 from matplotlib import pyplot as plt import matplotlib 2.设置散点图所有字符的字体样式 matplotlib.rcParams[‘font.family’] = ‘Microsof

    2023年04月11日
    浏览(47)
  • [数据分析与可视化] 基于matplotlib-scalebar库绘制比例尺

    matplotlib-scalebar是一个Python库,用于在matplotlib图形中添加比例尺。它允许用户指定比例尺的大小、位置、字体和颜色,以及比例尺的单位。该库支持不同的比例尺单位,例如米、英尺、英寸等。matplotlib-scalebar安装命令如下: pip install matplotlib-scalebar 比例尺是一种用于描述图上

    2024年02月11日
    浏览(49)
  • 【Python数据可视化】matplotlib之设置子图:绘制子图、子图共享x轴坐标、调整子图间距、设置图片大小

    文章传送门 Python 数据可视化 matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图 matplotlib之设置坐标:添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值 matplotlib之增加图形内容:设置图例、设置中文标题、设置网格效果 matplo

    2024年01月18日
    浏览(57)
  • Matplotlib可视化数据分析图表下(常用图表的绘制、折线图、柱形图、直方图、饼形图、散点图、面积图、热力图、箱形图、3D图表、绘制多个图表、双y轴可视化图表、颜色渐变图)

    本文来自《Python数据分析从入门到精通》_明日科技编著 本节介绍常用图表的绘制,主要包括绘制折线图、绘制柱形图、绘制直方图、绘制饼形图、绘制散点图、绘制面积图、绘制热力图、绘制箱型图、绘制3D图表、绘制多个子图表以及图表的保存。对于常用的图表类型以绘制

    2023年04月23日
    浏览(56)
  • 【100天精通Python】Day63:Python可视化_Matplotlib绘制子图,子图网格布局属性设置等示例+代码

     目录 1 基本子图绘制示例 2 子图网格布局 3 调整子图的尺寸 4 多行多列的子图布局 5 子图之间的共享轴 6 绘制多个子图类型 7 实战: 绘制一个大图,里面包含6个不同类别的子图,不均匀布局。 绘制子图(subplots) 是在Matplotlib中创建多个子图的常见任务。通过子图,您可以

    2024年02月05日
    浏览(49)
  • 【数据分析之道-基础知识(二)】列表

    ✍ 作者简介: i阿极 ,CSDN Python领域新星创作者, 专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》 ,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。 ✍ 订阅后,可以阅读《数据分析之道》中全部文章内容

    2023年04月08日
    浏览(49)
  • 【数据分析之道-基础知识(十一)】面向对象

    ✍ 作者简介: i阿极 ,CSDN Python领域新星创作者, 专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》 ,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。 ✍ 订阅后,可以阅读《数据分析之道》中全部文章内容

    2024年02月05日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包