《PySpark大数据分析实战》-25.数据可视化图表Matplotlib介绍

📋 博主简介

  • 💖 作者简介:大家好,我是wux_labs。😜
    热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。
    通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP)、TiDB数据库认证SQL开发专家(PCSD)认证。
    通过了微软Azure开发人员、Azure数据工程师、Azure解决方案架构师专家认证。
    对大数据技术栈Hadoop、Hive、Spark、Kafka等有深入研究,对Databricks的使用有丰富的经验。
  • 📝 个人主页:wux_labs,如果您对我还算满意,请关注一下吧~🔥
  • 📝 个人社区:数据科学社区,如果您是数据科学爱好者,一起来交流吧~🔥
  • 🎉 请支持我:欢迎大家 点赞👍+收藏⭐️+吐槽📝,您的支持是我持续创作的动力~🔥

《PySpark大数据分析实战》-25.数据可视化图表Matplotlib介绍

  • 《PySpark大数据分析实战》-25.数据可视化图表Matplotlib介绍
    • 前言
    • Python数据可视化工具介绍
      • Matplotlib介绍
        • 绘制折线图
        • 绘制柱状图
        • 绘制饼图
    • 结束语

《PySpark大数据分析实战》-25.数据可视化图表Matplotlib介绍

前言

大家好!今天为大家分享的是《PySpark大数据分析实战》第3章第4节的内容:数据可视化图表Matplotlib介绍。

图书在:当当、京东、机械工业出版社以及各大书店有售!

Python数据可视化工具介绍

数据可视化是一种提取有价值数据的有效方法,是数据分析和机器学习中非常重要的一环。它有助于提高分析效率,为机器学习模型提供可靠的数据基础。它可以帮助人们更直观地理解数据,更好地理解数据的趋势和变化,发现潜在的联系,从而帮助人们更好地构建机器学习模型,提高模型的准确性。此外,数据可视化可以帮助人们更好地发现数据中的噪声和异常。通过可视化,可以更容易地发现噪声数据和异常情况,从而减少机器学习模型的误差。常用的Python数据可视化工具包括Matplotlib、Seaborn、Pyecharts等。

Matplotlib介绍

Matplotlib是一个Python 2D绘图库,用于绘制各种类型的图形,包括折线图、柱状图、饼图、散点图等。可以自定义图形的样式和属性,可以添加标签、标题、网格等元素,可以设置图形的大小、分辨率、颜色等属性。Matplotlib采用三层结构来组织图形:

1)容器层。容器层是指在Matplotlib图形中用于组织和管理图形元素的结构,通常包括画板(Canvas)、画布(Figure)、坐标系(Axes)等几个部分。画板是Matplotlib的图形容器,用于显示和交互Matplotlib图形,例如缩放、平移、选择、保存等。画布是Matplotlib中最顶层容器,用于组织所有的坐标系、图例(Legend)、标题(Title)等元素,是整个图形的最外层容器。坐标系是位于画布内部的容器,可以理解为一个具体的子图,用于组织所有的图形元素,例如线条、标记、图例等。

2)辅助显示层。辅助显示层是坐标系内除了根据数据绘制的图像以外的内容,用于在Matplotlib图形中添加额外的信息和标注,以提高图形的可读性和表现力。主要包括外观(Facecolor)、边框线(Spines)、坐标轴(Axis)、坐标轴名称(Axis Label)、坐标轴刻度(Tick)、坐标轴刻度标签(Tick Label)、网格线(Grid)、图例、标题等内容。

3)图像层。图像层指坐标系内通过plot()、scatter()、bar()、histogram()、pie()等函数根据数据绘制出的图像。
要在项目中使用Matplotlib,需要在Python环境中安装Matplotlib,命令如下:

$ pip install matplotlib

在使用时需要在Python脚本中导入matplotlib,代码如下:

import matplotlib.pyplot as plt
绘制折线图

折线图是Matplotlib中最基本的图形之一,Matplotlib提供了plot()方法用来绘制折线图,plot()方法的主要参数有:

  • x, y,x轴和y轴的值,可以是列表、数组、Series等类型的数据,如果只提供一个参数,则默认为y轴的值,x轴的值为数据索引或序列号。
  • inestyle,指定线条的样式,例如solid(实线)、dashed(虚线)、dashdot(点线)等。
  • linewidth,指定线条的宽度,数值类型,单位是像素。
  • color,指定线条的颜色。

在下面的案例中,定义了x轴和y轴的数据并绘制了折线图,代码如下:

# 构造数据
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [2, 3, 6, 4, 5, 8, 5, 9, 7, 10]
plt.plot(x, y)  # 绘制折线图
plt.show()  # 显示图形

执行代码,绘制的图形如图所示。

绘制柱状图

柱状图也是Matplotlib中最基本的图形之一,Matplotlib提供了bar()方法用来绘制柱状图,bar()方法的主要参数有:

  • x,柱状图的x坐标,可以是一个序列或数组,表示每个类别。
  • height,柱状图的高度,可以是一个序列或数组,表示每个柱子的高度。
  • width,柱状图的宽度,默认值为0.8。
  • bottom,柱状图底部的y坐标,可以是一个序列或数组,表示每个柱子底部的位置,用于绘制堆叠柱状图。
  • align,柱状图对齐方式,默认值为center,表示柱状图对齐于x坐标轴上的中心。
  • color,柱状图的颜色。

在下面的案例中,定义了5种类别及对应的值并绘制柱状图,代码如下:

# 构造数据
categories = ['A', 'B', 'C', 'D', 'E']
values = [23, 45, 12, 34, 32]
plt.bar(x=categories, height=values)  # 绘制柱状图
plt.show()  # 显示图形

执行代码,绘制的图形如图所示。

绘制饼图

Matplotlib提供了pie()方法用来绘制饼图,pie()方法的主要参数有:

  • x,用于绘制饼图的数据,可以是一个列表、数组或者Series。
  • explode,指定各个部分的偏移量,用于突出某个部分,值为一个列表或数组。
  • labels,指定每个部分的标签,值为一个列表或数组。
  • colors,指定每个部分的颜色,值为一个列表或数组。
  • autopct,指定每个部分所占比例的显示方式,值为一个格式化字符串。
  • pctdistance,指定比例值和圆心的距离。
  • labeldistance,指定标签和圆心的距离。

在下面的案例中,定义了饼图的数据、颜色、显示方式等,并绘制出饼图,代码如下:

data = [20, 30, 40, 25, 15]  # 构造数据
labels = ['A', 'B', 'C', 'D', 'E']  # 定义标签
explode = [0, 0.2, 0, 0, 0]  # 定义突出显示的切片
colors = ['#ff9999', '#66bbff', '#99ff99', '#ffcc99', '#ffccff']  # 定义颜色
plt.pie(x=data, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%')  # 绘制饼图
plt.show()  # 显示图形

执行代码,绘制的图形如图所示。

结束语

好了,感谢大家的关注,今天就分享到这里了,更多详细内容,请阅读原书或持续关注专栏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/599683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-01-04 用llama.cpp部署本地llama2-7b大模型

点击 <C 语言编程核心突破> 快速C语言入门 用llama.cpp部署本地llama2-7b大模型 前言一、下载llama.cpp以及llama2-7B模型文件二、具体调用总结 使用协议: License to use Creative Commons Zero - CC0 该图片个人及商用免费&#xff0c;无需显示归属&#xff0c;但如果…

阿里通义千问「全民舞王」,一张照片就能跳《科目三》,刷爆朋友圈

这两天看朋友圈、网上都在发这种跳舞的视频。只要上传一张全身照&#xff0c;就可以生成各种跳舞的视频。 比如前段时间火爆海底捞的《科目三》&#xff0c;还有《DJ慢摇》、《鬼步舞》、《兔子舞》、甚至还有咱《秧歌舞》。 先来一睹为快&#xff01; 阿里通义千问「全民舞王…

虚拟机(克隆)导入/导出镜像(OVAOVF)

一.了解虚拟化和 UEFI 虚拟化是一种技术&#xff0c;通过在物理硬件上创建虚拟的计算环境&#xff0c;使得多个操作系统和应用程序可以在同一台计算机上同时运行。虚拟机是在这个虚拟化环境中运行的实例&#xff0c;它们需要被赋予操作系统和固件等系统软件来进行运行。UEFI&a…

Python+selenium+chromedriver实现爬虫示例代码

下载好所需程序 1.Selenium简介 Selenium是一个用于Web应用程序测试的工具&#xff0c;直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。 2.Selenium安装 方法一&#xff1a;在Windows命令行&#xff08;cmd&#xff09;输入pip install selenium即可自动安装&am…

炫酷的倒计时引导页

文章目录 文件分布介绍效果预览代码css样式Locationplayer.css js样式player.js 文件分布介绍 效果预览 代码 css样式 Location html {height: 100%;}body {font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hirag…

c语言-函数指针

目录 前言一、函数指针1.1 函数指针定义1.2 函数指针调用函数1.3 函数指针代码分析 总结 前言 本篇文章介绍c语言中的函数指针以及函数指针的应用。 一、函数指针 函数指针&#xff1a;指向函数的指针。 函数在编译时分配地址。 &函数名 和 函数名代表的意义相同&#xf…

外包干了3个多月,技术退步明显。。。。。

先说一下自己的情况&#xff0c;本科生生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…

SpringIOC之support模块DefaultMessageSourceResolvable

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

Profinet转Modbus网关助你畅享智能工业

Modbus转Profinet网关&#xff08;XD-MDPN100/200&#xff09;具有广泛的应用价值。无论是汽车制造、机械加工还是能源管理&#xff0c;都可以通过使用该网关&#xff0c;实现设备之间的高效通信。其次&#xff0c;Modbus转Profinet网关&#xff08;XD-MDPN100/200&#xff09;…

异步http接口调用库:httpx

谈到http接口调用&#xff0c;Requests大家并不陌生&#xff0c;例如&#xff0c;robotframework-requests、HttpRunner等HTTP接口测试库/框架都是基于它开发。这里将介绍另一款http接口测试框架:httpx。 它的API和Requests高度一致。 github: GitHub - encode/httpx: A next…

智慧校园的“边缘智能“: 打造未来教育的桥梁

在科技飞速发展的时代&#xff0c;智能已经渗透到我们生活的各个角落。而当智能遇上教育&#xff0c;会激发出怎样的火花呢&#xff1f;今天&#xff0c;我们就来聊聊这个热门话题——智慧校园和边缘智能网关的结合&#xff0c;它们是如何共同塑造未来教育的新形态。 什么是边…

Pygame和Cocos2d

Pygame和Cocos2d都是 Python 中常用的游戏引擎&#xff0c;但它们的设计目标、特点和使用场景略有不同。 Pygame与Cocos2d&#xff0c;目前是使用人数最多的两个Python游戏库。根据某知名产品点评网站的数据显示&#xff0c;排名前五的Python 2D游戏库如下图所示。其中&#x…

CEC2017(Python):六种算法(PSO、DBO、HHO、SSA、DE、GWO)求解CEC2017(提供完整Python代码)

一、6种算法简介 1、粒子群优化算法PSO 2、蜣螂优化算法DBO 3、哈里斯鹰优化算法HHO 4、麻雀搜索算法SSA 5、差分进化算法DE 6、灰狼优化算法GWO 二、CEC2017简介 参考文献&#xff1a; [1]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., & Suganthan, P. N. …

计算机毕业论文内容参考|基于区块链技术的电子健康记录系统的设计与实现

文章目录 摘要前言绪论课题背景国内外相关研究课题内容区块链技术介绍系统分析用户需求分析系统设计系统实现系统测试总结与展望摘要 本文介绍了基于区块链技术的电子健康记录系统的设计与实现。该系统旨在解决传统电子健康记录系统存在的数据安全性、数据隐私性和数据互操作性…

Visual studio 2010的安装与使用

一、下载及安装 1、下载软件。 百度网盘&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/115RibV7dOI_y8LUGW-94cA?pwd4hrs 提取码&#xff1a;4hrs 2、右键解压下载好的文件。 3、找到cn_visual_2010_……/Setup.hta&#xff0c;双击运行。 4、选择第三个“ Visual…

操作系统期末复习大题---经典进程的同步问题

目录 一、经典进程的同步问题 1. 利用记录型信号量解决生产者—消费者问题 执行流程&#xff1a; ”生产者-消费者”问题模型代码框架如下&#xff1a; 注意&#xff1a; 小结&#xff1a; 复习典型例题&#xff1a; 解答&#xff1a; 2. 利用AND信号量解决生产者——…

Python入门第09篇(conda虚拟环境)

前言 一开始默认安装了最新的Python3.12&#xff0c;搞的倒也顺手&#xff0c;看别人会有不兼容的问题&#xff0c;在我这开始没出现。不过坑总会踩到的&#xff0c;这不就出问题了。pip install一个包一直不行&#xff0c;问了下度娘&#xff0c;说由于这个包使用了一些新技术…

复试 || 就业day04(2024.01.05)项目一

文章目录 前言线性回归房价预测加载数据数据查看数据拆分数据建模模型的验证、应用模型的评估 总结 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考研复试或就业 &#x1f4ab;本文内容来自某机构网课&#xff0c;是我为复试准备的第一个项目 &#…

Linux驱动学习—ioctl接口

1、unlock_ioctl和ioctl有什么区别&#xff1f; kernel 2.6.36 中已经完全删除了struct file_operations 中的ioctl 函数指针&#xff0c;取而代之的是unlocked_ioctl 。ioctl是老的内核版本中的驱动API&#xff0c;unlock_ioctl是当下常用的驱动API。unlocked_ioctl 实际上取…

【排序算法总结】

目录 1. 稳点与非稳定排序2. 冒泡排序3. 简单选择排序4. 直接插入排序5. 快排6. 堆排7. 归并 1. 稳点与非稳定排序 不稳定的&#xff1a;快排、堆排、选择原地排序&#xff1a;快排也是非原地排序&#xff1a;归并 和三个线性时间排序&#xff1a;桶排序 &#xff0c;计数&…