版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python数据可视化案例教程全套可编辑PPT课件全课导航项目1搭建数据可视化开发平台项目2
Python数据可视化基础项目3比较型数据可视化项目5关联型数据可视化项目4分布型数据可视化项目6比例型数据可视化项目7时间型数据可视化项目8文本型数据可视化项目9地理空间型数据可视化项目10点评网站美食店铺数据可视化项目1
搭建数据可视化开发平台知识目标理解数据可视化的概念和流程。了解数据可视化的应用场景、设计原则和常用图表。了解常用的数据可视化工具。技能目标能在Windows系统中搭建Python开发环境。能使用PyCharm完成Python程序的编写和运行。素养目标通过对数据可视化的了解,增强探索意识。养成事前调研、做好准备工作的习惯。项目目标随着大数据时代的到来,各行各业产生的数据呈爆炸式增长。为了从海量的数据中直观地获取有价值的信息,数据可视化越来越受到人们的关注。它借助图形化的手段,将数据清晰、有效地呈现给人们,从而使人们快速理解并使用数据,也使数据分析变得更简单、高效。想要实现数据可视化,首先需要搭建数据可视化开发平台。本项目将介绍搭建数据可视化开发平台的方法。项目描述按照项目要求,搭建数据可视化开发平台的方法如下。(1)安装Python。从Python的官方网站下载Python安装文件(python-3.11.2-amd64.exe)并安装。(2)安装和使用PyCharm。首先在PyCharm的官方网站下载PyCharm安装文件(pycharm-community-2022.3.2.exe)并安装,然后创建项目,最后在项目中创建Python文件,并编写和运行程序。(3)安装Python数据可视化常用库。由于Python数据可视化常用的库都不是Python内置的标准库,使用之前需要安装,因此,以安装matplotlib可视化库为例,介绍安装Python第三方库的方法。项目分析为了更好地完成数据可视化开发平台搭建,本项目将对相关知识进行介绍,包括数据可视化的概念、流程、应用场景、设计原则和常用图表,以及常用的数据可视化工具。项目分析全班学生以3~5人为一组,各组选出组长。组长组织组员扫码观看“数据可视化的发展历史及应用场景”视频,讨论并回答下列问题。问题1:简述数据可视化的发展历史。问题2:列举数据可视化在生活中的应用场景(不少于3个)。项目准备1.1
数据可视化概述1.2
常用的数据可视化工具项目实施——搭建数据可视化开发平台项目导航1.1
数据可视化概述1.1.1什么是数据可视化数据可视化是指借助图形化的方式将数据直观、清晰地展示给人们,它是人们理解数据、发现数据中蕴含价值的重要途经。不同行业的数据可视化可能有不同的呈现形式和要求,但最终目的都是挖掘数据深层的含义,让纷繁复杂、晦涩难懂的数据变得轻松易读、易于理解。1.1.1什么是数据可视化数据可视化是关于视觉表现形式的科学技术研究,它所涵盖的技术方法非常广泛,是以计算机图形学及图像处理技术为基础,将数据转换为图形或图像显示,并进行交互处理的理论、方法和技术。在数据呈爆发式增长的大数据时代,数据可视化已成为各个领域展示和分析数据必不可少的手段。1.1.1什么是数据可视化同时,数据可视化又是一门艺术,需要在功能与美学之间达到一种平衡。它既要注重实现复杂的功能,挖掘数据背后蕴含的信息,又要注重美学形式,将信息以绚丽多彩的图形呈现。可见,数据可视化是技术与艺术的结合。1.1.1什么是数据可视化1.1.2数据可视化的流程分析数据匹配图形可视化设计可视化开发可视化分析1.1.2数据可视化的流程首先要了解所要绘制的数据,如数据的大小、维度、关系等1.分析数据然后根据需求,分析数据的类别和要展示的内容1.1.2数据可视化的流程例如,比较型数据可以使用柱形图,比例型数据可以使用饼图。找到合适的图形将数据展示出来,可以根据数据的类别选择合适的图形2.匹配图形1.1.2数据可视化的流程对展示的页面进行设计3.可视化设计风格元素配色文字交互1.1.2数据可视化的流程首先需要确定可视化开发工具,如Excel、Python、Tableau等4.可视化开发然后使用开发工具进行数据可视化开发,生成数据可视化结果1.1.2数据可视化的流程对数据的可视化结果进行信息提炼和总结5.可视化分析可以让人们从数据中探索新的信息,也可以证实自己的想法,还可以向他人展示数据所包含的信息1.1.3数据可视化的应用场景随着数据可视化技术的发展,数据可视化的应用场景越来越广泛。下面介绍一些常见的应用场景。1.1.3数据可视化的应用场景随着社会的迅速发展,在一些监控中心、指挥中心、调度中心等重要场所,大屏数据可视化系统已经成为信息可视化不可或缺的展示平台。它能够从多个方面为决策人员提供决策依据,从而全面提升其决策能力。1.政务管理1.1.3数据可视化的应用场景例如,基于交通指挥监控中心的大屏可视化系统,可以实现从高速公路的运行情况到城市公交车辆、司乘人员、运行线路、站点场站管理、乘客统计等多个维度的日常路网运行监测与协调管理;1.政务管理1.1.3数据可视化的应用场景基于电网监控中心的大屏可视化系统,可以满足常态下电网信息的实时监测监管、应急状态下协同指挥调度的需要。1.政务管理1.1.3数据可视化的应用场景可视化教学是指在计算机软件、多媒体资料的辅助下,将抽象的教学内容具体化,使学生感知、想象、推理各种事物及其发展变化的形式与过程。可视化教学正逐步取代传统的教学模式,它可以帮助学生更好地获取、存储、重组知识,并能促进多元思维的培养,使学生认识知识的本质和联系。2.教育行业1.1.3数据可视化的应用场景2.教育行业1.1.3数据可视化的应用场景帮助建立一种全新的医疗管理模式,帮助医护人员快速整理数据并解决一些门诊资料、用药资料、疾病信息等方面的问题;用来进行医学诊断;在某些外科手术中创建三维图像,帮助医生判断是否进行手术或进行何种手术等;提高临床疾病的预测和分析能力。3.医疗行业1.1.3数据可视化的应用场景3.医疗行业1.1.3数据可视化的应用场景数据可视化在电商行业的应用较为广泛通过可视化展示可以为企业营销策略的实施提供可靠的保障。采用可视化方法进行营销,可以极大地提高企业的数据分析能力,从而为企业制订精准化营销策略。4.电商行业1.1.3数据可视化的应用场景4.电商行业1.1.3数据可视化的应用场景基于物联网设备的数据采集,采用可视化技术对农作物的生长环境进行监控,可以精准控制环境参数,从而帮助农业人员快速发现并解决问题。数据可视化是智能农业发展的一种新趋势,它不仅可以应用于现代农产品的生产流程,还可以应用于当前十分火热的视频直播、短视频,以及休闲农业、旅游农业等网络农业发展项目。5.现代农业1.1.3数据可视化的应用场景5.现代农业1.1.4数据可视化的设计原则在数据可视化中,无论是风格、元素、配色、文字、交互还是其他细节,人们都越来越注重视觉体验,希望可视化图表能够一目了然。因此在可视化的实现上,通常需要考虑以下设计原则。1.1.4数据可视化的设计原则(1)内容分类。数据可视化时,所要表达的内容一定不能无序呈现,这样容易造成理解上的混乱。可视化设计应当遵循多数人能理解的逻辑思维,将内容分成几部分并按顺序呈现。相关的内容应放在一起,不相关的内容应明显地隔开,这样有助于展示清晰的结构。1.1.4数据可视化的设计原则(2)版式中的元素对齐。在版式布局上,任何元素的位置都会影响人们的视觉体验,因此任何元素都不能随意放置,否则会造成混乱,令人感到不适。1.1.4数据可视化的设计原则(3)视觉要素的重复与统一。可视化设计时,应适当使用一些重复的视觉要素,建立上下文之间的联系,增加条理性,保持视觉上的统一。1.1.4数据可视化的设计原则(4)内容的对比与强调。可视化设计时,应强调重点,弱化次要,避免所有的可视化元素看起来重要程度都是一样的。1.1.4数据可视化的设计原则(5)表述准确、简洁。文字的表达要准确、简洁、易懂,要能引导人们正确地理解图表的意思,且不引起任何歧义。1.1.5数据可视化的常用图表折线图柱形图1.1.5数据可视化的常用图表条形图雷达图1.1.5数据可视化的常用图表直方图箱形图1.1.5数据可视化的常用图表散点图气泡图1.1.5数据可视化的常用图表饼图环形图1.1.5数据可视化的常用图表词云图日历图1.1.5数据可视化的常用图表统计地图热力图1.1.5数据可视化的常用图表历次人口普查人口性别构成柱形图和性别比折线图1.1.5数据可视化的常用图表此外,还可以对上述图表进一步整理与加工,使之转换为所需要的图表。K线图金字塔图1.1.5数据可视化的常用图表矩阵图漏斗图1.1.5数据可视化的常用图表帕累托图桑基图请简述数据可视化的流程。数据可视化的常用图表有哪些?课堂检测数据可视化概述什么是数据可视化数据可视化的流程数据可视化的应用场景数据可视化的设计原则数据可视化的常用图表课堂小结1.2
常用的数据可视化工具1.2.1可视化开发语言Python
是一门简单易学、跨平台、可扩展的高级编程语言,它在网络爬虫、数据分析、数据可视化、人工智能等多个领域应用广泛。1.Python1.2.1可视化开发语言在2023年3月发布的TIOBE世界编程语言排行榜上,Python牢牢占据榜首,成为最受软件工程师欢迎的编程语言。1.Python1.2.1可视化开发语言Python具有非常丰富的专用的科学计算扩展库和可视化库,不仅可以绘制传统的2D图表,还可以绘制3D立体图表。1.Python1.2.1可视化开发语言1.PythonPython常用的数据可视化库matplotlibseabornpyechartsplotlybokehggplotgeoplotlibPython中第一个数据可视化的第三方库,可以采用多种方式绘制图表并对图表进行定制基于matplotlib开发的数据可视化库,具备多种自定义主题和高级界面一个将Python与ECharts结合的强大的数据可视化库,可以生成独立的网页,用于展示交互式图表1.2.1可视化开发语言R语言是专为数据统计、分析和可视化而开发的数据统计与分析语言。R是由数据操作、计算和图形展示功能整合而成的套件,拥有强大的图形显示功能。此外,R语言还具有跨平台、自由、免费、源代码开放、绘图表现和计算能力突出等一系列优点。2.R语言1.2.2可视化软件Excel是一款电子表格软件,它能够方便地处理表格和进行图表分析。1.Excel1.2.2可视化软件直观的界面、出色的计算能力和图表工具,使Excel成为最流行的个人计算机数据处理软件之一。Excel的学习成本低,且容易上手,利用它的图表库,可以绘制基本的可视化图表。1.Excel1.2.2可视化软件但是,在大数据时代,由于Excel处理速度较慢,已经无法胜任大量数据的处理工作了。因此,在进行大规模数据可视化时,通常不会将Excel作为主力工具,而只作为辅助工具来使用。1.Excel1.2.2可视化软件Tableau是一款流行的商业智能可视化分析软件,它的操作十分简单,用户不需要精通复杂的编程和统计原理,只需要把数据拖到工作簿中,然后通过一些简单的设置就可以得到想要的可视化图表。2.Tableau1.2.2可视化软件ECharts是一款基于JavaScript的数据可视化工具,可以提供直观、生动、可交互、可个性化定制的数据可视化图表。它可以流畅地运行在计算机和移动设备上,并且兼容当前绝大部分浏览器。ECharts提供了非常炫酷的图形界面,且使用简单,用户只需从官网下载相应的JS文件,然后在网页中引用就可以绘制各种图表。3.ECharts1.2.2可视化软件PowerBI是一款基于云的商业数据分析和共享工具,它可以把复杂的数据转化成简洁的视图。通过PowerBI,可以创建可视化交互式报告,用户可以使用手机App随时查看。4.PowerBI和FineBI1.2.2可视化软件FineBI与PowerBI类似,是一款国产商业智能软件,它提供了多种类型的图表,并支持数据智能分析。4.PowerBI和FineBI你还知道哪些可视化开发语言?你使用过可视化软件吗?请分享一下。课堂检测常用的数据可视化工具可视化开发语言可视化软件课堂小结项目实施
搭建数据可视化开发平台搭建数据可视化开发平台1.安装Python2.安装和使用PyCharm3.安装Python数据可视化常用库1.实训目标(1)练习使用PyCharm新建项目并在项目中新建Python文件。(2)练习使用PyCharm编写和运行Python程序。(3)练习使用PyCharm安装Python库。项目实训2.实训内容(1)使用PyCharm新建一个项目,命名为“项目实训1”,并使用“项目1”项目配置的环境。(2)在“项目实训1”项目中新建一个Python文件,命名为“Welcome”。(3)在“Welcome.py”文件中输入下列代码并运行。print('欢迎使用Python!')(4)在“项目实训1”项目中安装seaborn数据可视化库。项目实训由于“项目实训1”项目使用的是“项目1”项目配置的环境,因此在其中任一项目中安装库,共用该配置环境的项目都可以使用该库。提示请学生结合本项目的学习情况,对学习成果进行自评和互评(组内成员相互评分),请指导教师进行总体评价,并将评价结果填入表中。学习成果评价表评价项目评价内容分值评价得分自评互评师评项目完成度(20%)项目准备阶段,回答问题清晰准确,能够紧扣主题,没有明显错误5分项目实施阶段,根据操作步骤完成本项目5分项目实训阶段,出色地完成实训内容5分项目考核阶段,正确地完成考核题目5分项目评价评价项目评价内容分值评价得分自评互评师评知识(30%)数据可视化的概念5分数据可视化的流程5分数据可视化的应用场景5分数据可视化的设计原则5分数据可视化的常用图表5分常用的数据可视化工具5分(续表)项目评价评价项目评价内容分值评价得分自评互评师评能力(35%)安装Python10分安装和使用PyCharm15分安装Python数据可视化常用库10分素养(15%)具有自主学习意识,做好课前准备5分增强探索意识5分善于思考,勇于提出问题5分(续表)项目评价评价项目评价内容分值评价得分自评互评师评总评综合得分:________100分综合等级:________指导教师签字:__________总结提高最突出的表现(创新或进步):还需改进的地方(不足或缺点):(续表)注:综合得分=自评(25%)+互评(25%)+师评(50%);综合等级可以“优”(综合得分≥90分)、“良”(80分≤综合得分<90分)、“中”(60分≤综合得分<80分)、“差”(综合得分<60分)为标准进行评价。项目评价谢谢观看Python数据可视化案例教程全课导航项目1搭建数据可视化开发平台项目2
Python数据可视化基础项目3比较型数据可视化项目5关联型数据可视化项目4分布型数据可视化项目6比例型数据可视化项目7时间型数据可视化项目8文本型数据可视化项目9地理空间型数据可视化项目10点评网站美食店铺数据可视化项目2
Python数据可视化基础知识目标熟悉matplotlib中图表的组成要素、绘图的基本流程和常用函数,掌握设置图表样式的方法。熟悉seaborn绘图的常用函数,掌握设置图表风格和生成调色板的方法。了解pyecharts的绘图基础,掌握pyecharts绘图的基本步骤,以及设置图表主题和绘制组合图表的方法。技能目标能根据matplotlib、seaborn和pyecharts的绘图风格,选择合适的数据可视化库。能使用matplotlib、seaborn和pyecharts绘制图表。素养目标提升选择合适方法解决不同问题的能力。提升对颜色、形状和空间位置的判断能力。项目目标Python具有多个数据可视化库,使用它们可以绘制具有不同可视化效果的图表。用户可以根据需求,选择合适的可视化库绘制图表。本项目将基于2022年某店铺3个分店销售额使用matplotlib、seaborn和pyecharts这3种常用的Python数据可视化库绘制图表。项目描述按照项目要求,对“2022年某店铺3个分店销售额.xlsx”文件中的数据进行可视化的方法如下。(1)使用matplotlib绘制折线图。首先新建Python文件;然后编写代码,实现从数据源中获取第一分店的数据,绘制第一分店销售额折线图。(2)使用seaborn绘制折线图。首先新建Python文件;然后编写代码,实现从数据源中获取第二分店的数据,绘制第二分店销售额折线图。(3)使用pyecharts绘制折线图。首先新建Python文件;然后编写代码,实现从数据源中获取第三分店的数据,绘制第三分店销售额折线图,并渲染到网页文件;最后在浏览器中查看折线图。项目分析为了更好地使用Python数据可视化库绘制图表,本项目将对相关知识进行介绍,包括matplotlib中图表的组成要素、绘图的基本流程、常用的绘图方法和图表样式的设置,seaborn常用的绘图方法、图表风格和调色板,pyecharts绘图基础、绘图的基本步骤、图表主题和组合图表。项目分析全班学生以3~5人为一组,各组选出组长。组长组织组员扫码观看“Python常用的数据可视化库对比分析”视频,讨论并回答下列问题。问题1:列举Python常用的数据可视化库,并说明它们的特点。问题2:如果需要灵活控制图表的细节,通常选择哪个Python数据可视化库绘制图表?项目准备2.1 matplotlib数据可视化2.2
seaborn数据可视化项目实施——使用Python数据可视化库绘制图表项目导航2.3
pyecharts数据可视化2.1
matplotlib数据可视化2.1.1认识matplotlibmatplotlib是Python中常用的2D绘图库,它具有高度的可定制性,在创建图表的过程中可以完全控制各种元素和参数,从而实现高质量的可视化效果。2.1.1认识matplotlib同时,基于matplotlib还可以构建丰富的第三方库。matplotlib能够集成到其他工具和环境中JupyterNotebookWeb应用程序各种图形用户界面(graphicaluserinterface,GUI)框架2.1.2图表的组成要素数据可视化图表有很多种,但每种图表一般都由以下几部分组成。图例画布坐标轴及坐标轴标题图表标题文本标签绘图区网格线2.1.2图表的组成要素绘图窗口中的白色区域,作为其他组成部分的容器。画布2.1.2图表的组成要素显示图形的矩形区域,一张画布中可以包含多个绘图区。绘图区2.1.2图表的组成要素说明图表的内容,如“学生各学期成绩分析”。图表标题2.1.2图表的组成要素坐标轴及坐标轴标题坐标轴是标识分类或数值大小的水平线和垂直线,即x轴和y轴,具有刻度及刻度标签,如x轴的“高一第一学期期中”、y轴的“110”等;坐标轴标题用于说明坐标轴数据的含义,如x轴的标题“学期”、y轴的标题“成绩”。2.1.2图表的组成要素说明图表中每种颜色或标记所代表的数据类别。图例2.1.2图表的组成要素为数据添加说明文字。文本标签2.1.2图表的组成要素贯穿绘图区的线条,衡量数据值的标准。网格线2.1.3绘图的基本流程使用matplotlib绘图通常遵循一个基本流程(见图),按照这个流程可以完成大部分图表的绘制。2.1.3绘图的基本流程导入绘图库1.准备阶段创建画布与子图2.1.3绘图的基本流程使用matplotlib(使用之前须安装)绘制图表前须导入matplotlib库,可以使用下面代码实现。importmatplotlib(1)导入绘图库2.1.3绘图的基本流程(1)导入绘图库绘制图表时,最常使用matplotlib库中的pyplot模块。导入pyplot模块并为其设置别名,可以使用下面代码实现。importmatplotlib.pyplotasplt2.1.3绘图的基本流程pyplot模块提供了figure()函数,用于创建一张新的空白画布,其一般格式如下。figure(num=1,
figsize=(6.4,4.8),
facecolor='white')(2)创建画布与子图表示画布的编号或名称,取值为整数表示编号,取值为字符串表示名称,如果创建多张画布,则编号会依次增加表示画布大小,为一个元组,分别表示宽度和高度,单位为英寸表示画布的背景颜色提示函数或方法的一般格式中,如果参数赋值,表示为参数设置默认值。例如,figure()函数中,num的默认值为1。figure(num=1,
figsize=(6.4,4.8),
facecolor='white')2.1.3绘图的基本流程一张画布中可以包含一个或多个子图(绘图区)。pyplot模块提供了subplot()函数,用于创建多个子图,其一般格式如下。subplot(nrows=1,ncols=1,index=1)例如,subplot(2,3,5)表示将画布划分为2行3列,且子图的编号为5,即第2行第2列的绘图区。(2)创建画布与子图表示将画布划分为nrows行ncols列表示子图的编号,取值范围为1~nrows×ncols提示绘图时首先需要创建一张新的空白画布,并可以根据情况选择将整个画布划分为多个绘图区,以便在同一张画布中绘制多个图表。pyplot模块默认包含一张新的空白画布,如果只在默认画布中绘制图表,则可以不使用figure()函数创建画布。子图绘制本质上是多个基础图表绘制过程的叠加,即分别在同一张画布的不同绘图区中绘制图表。2.1.3绘图的基本流程设置图表标题和坐标轴标题2.绘制主体部分设置坐标轴取值范围设置坐标轴刻度设置文本标签设置网格线绘制图表设置图例添加画布内容2.1.3绘图的基本流程pyplot模块提供了title()函数,用于设置图表标题,其一般格式如下。title(label)(1)设置图表标题和坐标轴标题表示图表标题2.1.3绘图的基本流程pyplot模块还提供了xlabel()和ylabel()函数,分别用于设置x轴标题和y轴标题,其一般格式如下。xlabel(xlabel)ylabel(ylabel)(1)设置图表标题和坐标轴标题表示x轴标题表示y轴标题2.1.3绘图的基本流程pyplot模块提供了xlim()和ylim()函数,分别用于设置x轴取值范围和y轴取值范围,其一般格式如下。xlim(x_min,
x_max)ylim(y_min,
y_max)(2)设置坐标轴取值范围表示x轴的最小值表示y轴的最小值表示x轴的最大值表示y轴的最大值2.1.3绘图的基本流程pyplot模块提供了xticks()和yticks()函数,分别用于设置x轴刻度和y轴刻度,其一般格式如下。(3)设置坐标轴刻度xticks(locs,
[labels],rotation)yticks(locs,
[labels],rotation)表示坐标轴的刻度,为数值型数组表示刻度的标签,也为数组,为可选参数表示坐标轴刻度及其标签逆时针旋转的角度当locs和labels同时设置时,只显示labels的值。2.1.3绘图的基本流程pyplot模块提供了text()函数,用于设置文本标签,其一般格式如下。(4)设置文本标签text(x,y,s,
**kwargs)表示需要设置标签的数据的x轴坐标和y轴坐标表示标签的文本,为字符串表示标签的参数fontsize=12表示字体大小为12va='center'表示垂直对齐方式为居中对齐ha='left'表示水平对齐方式为左对齐2.1.3绘图的基本流程pyplot模块提供了grid()函数,用于设置网格线,其一般格式如下。grid(axis='both')(5)设置网格线表示网格线的方向取“x”表示显示x轴网格线取“y”表示显示y轴网格线取“both”表示显示x轴和y轴网格线2.1.3绘图的基本流程pyplot模块提供了多种函数,用于绘制图表,详细内容见2.1.4节。(6)绘制图表点击到2.1.4节2.1.3绘图的基本流程pyplot模块提供了legend()函数,用于设置图例,其一般格式如下。legend(labels,loc)(7)设置图例表示图例显示的位置,具体取值如表所示表示图例的文本,为字符串或字符串列表取值说明取值说明best(默认)自适应lowercenter下方居中upperright右上方centerright右侧居中upperleft左上方centerleft左侧居中uppercenter上方居中right右侧lowerright右下方center正中lowerleft左下方——2.1.3绘图的基本流程(7)设置图例需要注意的是,由于图例中会显示图表的样式,因此设置图例的操作须在图表绘制完成后进行。提示设置图例时,可能会出现文本显示不全的问题。此时,可以在图例文本后加一个逗号,然后将文本及逗号使用小括号括起来,如legend((‘语文’,))。2.1.3绘图的基本流程保存图表3.收尾阶段显示图表2.1.3绘图的基本流程pyplot模块提供了savefig()函数,用于保存图表,其一般格式如下。savefig(fname)(1)保存图表表示图表的名称,其中可以包含路径例如,要将图表保存在D盘根目录下,并将其命名为“产品总成本.png”,可以使用下面代码实现。plt.savefig('D:/产品总成本.png')2.1.3绘图的基本流程pyplot模块提供了show()函数,用于显示图表,其一般格式如下。show()(2)显示图表提示如果想显示图表的同时保存图表,则savefig()函数必须在show()函数前执行。2.1.4常用的绘图函数matplotlib提供了多种函数,用于绘制常见的二维图表。函数核心参数说明图表类型plot()x(x轴数据)、y(y轴数据)、color(线条颜色)linestyle(线条类型)、linewidth(线条宽度)、marker(标记类型)、markeredgecolor(标记边框颜色)markeredgewidth(标记边框宽度)、markerfacecolor(标记填充颜色)、markersize(标记大小)折线图hist()x(x轴数据)、bins(矩形柱的个数)、range(x轴数据范围)、density(y轴是否为频率)、align(矩形柱位置)、color(矩形柱填充颜色)、edgecolor(矩形柱边框颜色)直方图bar()x(x轴数据)、height(柱形高度)、width(柱形宽度)、bottom(柱形底部高度)、align(柱形位置)、color(柱形填充颜色)、edgecolor(柱形边框颜色),tick_label(x轴刻度标签)柱形图簇状柱形图堆积柱形图2.1.4常用的绘图函数函数核心参数说明图表类型barh()y(y轴数据)、width(条形宽度)、height(条形高度)、left(条形左侧宽度)、align(条形位置)、color(条形填充颜色)、edgecolor(条形边框颜色),tick_label(y轴刻度标签)条形图簇状条形图堆积条形图pie()x(扇形数据)、colors(扇形填充颜色)、labels(扇形标签)、autopct(比例的字符串格式)、startangle(起始绘制角度)、wedgeprops(扇形属性)饼图scatter()x(x轴数据)、y(y轴数据)、s(标记大小)、c(标记填充颜色)、maker(标记类型)、linewidths(标记边框宽度)、edgecolors(标记边框颜色)、alpha(标记透明度)散点图气泡图(续表)2.1.4常用的绘图函数函数核心参数说明图表类型boxplot()x(x轴数据)、notch(有无凹槽)、sym(异常点形状)、vert(是否垂直)、whis(上下限值与上下四分位数的距离)、positions(箱形图的位置)、widths(箱形图宽度)、showmeans(是否显示均值)、boxprops(箱形图属性)箱形图violinplot()dataset(一维数据)、vert(是否垂直)、positions(小提琴图的位置)、widths(小提琴图宽度)、showmeans(是否显示均值)小提琴图fill_between()x(x轴数据)、y1(y轴下限值)、y2(y轴上限值)、where(填充区域)、alpha(填充区域透明度)、facecolor(填充区域颜色)、edgecolor(填充区域边框颜色)、linewidth(填充区域边框宽度)面积图(续表)2.1.4常用的绘图函数函数核心参数说明图表类型stackplot()x(x轴数据)、y(y轴数据)、baseline(基准线)、alpha(填充区域透明度)、colors(填充区域填充颜色)、labels(标签)堆积面积图imshow()x(数据)、camp(颜色图谱)、interpolation(插值方式)、alpha(图形透明度)词云图热力图(续表)2.1.5图表样式的设置pyplot模块可以使用rcParams参数修改图表的各种默认属性画布大小线条宽度、类型和标记及标记大小中文字体及字体大小坐标轴刻度显示方向颜色循环2.1.5图表样式的设置参数说明figure.figsize画布大小lines.linewidth线条宽度lines.linestyle线条类型,可取值为“-”(实线)、“—”(双画线)、“-.”(点画线)、“:”(虚线),默认为“-”lines.marker线条标记类型,如常用的线条标记类型取值表格所示lines.markersize线条标记大小font.sans-serif显示的中文字体,可取值为“SimHei”(黑体)、“KaiTi”(楷体)、“FangSong”(仿宋)、“MicrosoftYaHei”(微软雅黑)等。当图表中显示中文时,必须设置此参数点击到常用的线条标记类型取值表格2.1.5图表样式的设置参数说明font.size字体大小axes.unicode_minus正常显示负号,可取值“False”“True”,默认为“True”xtick.direction/ytick.directionx轴和y轴刻度线显示方向,可取值“out”(向外)、“in”(向内),默认为“out”p_cycle颜色循环,默认包含10种颜色。当在同一绘图区中绘制不同图形时,会默认按颜色顺序依次设置为其中的颜色。当图形数大于10时,颜色自动循环(续表)2.1.5图表样式的设置取值说明取值说明取值说明.点1下花三角h竖六边形,像素2上花三角H横六边形o实心圆3左花三角+加号v倒三角4右花三角×叉号^上三角s实心正方形D大菱形>右三角p实心五边形d小菱形<左三角*星形|垂直线常用的线条标记类型取值通过rcParams参数可以统一设置所有图形的样式。2.1.5图表样式的设置通过绘制图形的函数分别设置每个图形的样式颜色线条类型标记其中,颜色取值有以下3种。(1)指定的Tk标准颜色字符串,如“Red”(红色)、“Yellow”(黄色)、“#ff0000”(红色)等。(2)使用r、g、b元组表示的RGB颜色(R表示红色、G表示绿色、B表示蓝色),r、g、b取值范围均为0~1,如(1.0,0,0)(红色)。(3)颜色的缩写,但只限于8种颜色,包括“b”(蓝色)、“g”(绿色)、“r”(红色)、“c”(蓝绿色)、“m”(洋红色)、“y”(黄色)、“k”(黑色)、“w”(白色)。当使用颜色的缩写时,可以与线条类型、线条标记组合设置线条样式,如“r:o”表示红色的实心圆虚线。2.1.5图表样式的设置例如,绘制线条颜色为绿色、标记类型为实心圆、标记大小为10的折线图,可以使用下面代码实现。2.1.5图表样式的设置x=[1,2,3,4,
5]y=[6,9,5,4,
7]plt.plot(x,y,
color=‘green’,
marker=‘o’,markersize=10)图表的组成要素有哪些?请简述绘图的基本流程。课堂检测matplotlib数据可视化认识matplotlib图表的组成要素绘图的基本流程常用的绘图函数图表样式的设置课堂小结2.2
seaborn数据可视化2.2.1认识seabornseaborn在matplotlib的基础上进行了更高级的API封装,从而使绘图更加容易。相较于matplotlib,seaborn语法更简洁,可以把seaborn视为matplotlib的补充,而不是替代物。seaborn提供了许多样式主题和调色板,使用seaborn可以轻松地绘制更加美观、有吸引力的图表。2.2.1认识seaborn使用seaborn绘图的流程与使用matplotlib基本一致,除了使用seaborn自身的函数绘制图表及设置图表风格、颜色主题外,其余的绘制都可以通过pyplot模块完成。importseabornassns使用seaborn(使用之前须安装)绘制图表前,须导入seaborn库,可以使用下面代码实现。2.2.2常用的绘图函数seaborn侧重数据统计图表的绘制柱形图散点图箱形图直方图密度图2.2.2常用的绘图函数函数核心参数说明图表类型lineplot()x(x轴数据)、y(y轴数据)、hue(颜色映射)、size(线条宽度映射)、style(线条类型映射)、data(数据集)、palette(颜色模板)、marker(线条标记类型)、color(线条颜色)折线图barplot()x(x轴数据)、y(y轴数据)、hue(颜色映射)、data(数据集)、order(分类变量的显示顺序)、orient(水平或垂直方向)、width(柱形或条形宽度)、palette(颜色模板)、color(柱形或条形填充颜色)柱形图条形图countplot()x(x轴数据)、y(y轴数据)、hue(颜色映射)、data(数据集)、order(分类变量的显示顺序)、orient(水平或垂直方向)、width(柱形或条形宽度)、palette(颜色模板)、color(柱形或条形填充颜色)分类统计的柱形图条形图2.2.2常用的绘图函数函数核心参数说明图表类型scatterplot()x(x轴数据)、y(y轴数据)、hue(颜色映射)、size(标记大小映射)、style(标记类型映射)、data(数据集)、palette(颜色模板)、sizes(映射的标记大小)、markers(映射的标记类型)、s(标记大小)、c(标记填充颜色)散点图气泡图pairplot()data(数据集)、hue(颜色映射)、hue_order(hue变量的显示顺序)、palette(颜色模板)、vars(x轴和y轴变量列表)、x_vars(x轴变量列表)、y_vars(y轴变量列表)、diag_kind(矩阵主对角线的图表类型)散点图矩阵(续表)2.2.2常用的绘图函数函数核心参数说明图表类型boxplot()x(x轴数据)、y(y轴数据)、hue(颜色映射)、data(数据集)、order(分类变量的显示顺序)、orient(水平或垂直方向)、palette(颜色模板)、width(箱体宽度)、dodge(数据序列是否分离展示)、notch(有无凹槽)、whis(上下限值与上下四分位数的距离)箱形图violinplot()x(x轴数据)、y(y轴数据)、hue(颜色映射)、data(数据集)、order(分类变量的显示顺序)、orient(水平或垂直方向)、palette(颜色模板)、width(小提琴宽度)、dodge(数据序列是否分离展示)、whis(上下限值与上下四分位数的距离)小提琴图(续表)2.2.2常用的绘图函数函数核心参数说明图表类型histplot()x(x轴数据)、y(y轴数据)、hue(颜色映射)、data(数据集)、bins(矩形柱的个数)、binwidth(矩形柱的宽度,覆盖bins)、binrange(x轴数据范围)、multiple(直方图类型)直方图kdeplot()x(x轴数据)、y(y轴数据)、hue(颜色映射)、data(数据集)、multiple(密度图类型)、hue_order(hue变量的显示顺序)密度图heatmap()data(数据集)、vmin(颜色刻度条的最小值)、vmax(颜色刻度条的最大值)、cmap(颜色刻度条对应的颜色模板)、annot(是否显示每个单元格的数值)、fmt(数值显示的格式)、linewidths(分割线的宽度)、linecolor(分割线的颜色)热力图(续表)2.2.2常用的绘图函数其中,hue(颜色映射)、size(线条宽度映射)、style(线条类型映射)表示以不同颜色、线条宽度和线条类型映射不同类别的图形。#方法一sns.lineplot(x=df[‘姓名’,
y=df[‘身高’)#方法二sns.lineplot(x=‘姓名’,y=‘身高’,
data=df)例如,现有DataFrame格式的数据df,包含“姓名”“身高”“体重”“性别”列,如果绘制身高折线图,则可以使用下面两种方法实现。2.2.2常用的绘图函数#方法一sns.lineplot(x=df[‘姓名’,
y=df[‘身高’)#方法二sns.lineplot(x=‘姓名’,y=‘身高’,
data=df)以上两种方法的区别是:方法一直接将df中的“姓名”“身高”列数据赋给x和y;方法二首先将df赋给data,然后将“姓名”“身高”列标签赋给x和y以获取这两列的数据。2.2.2常用的绘图函数sns.lineplot(x=‘姓名’,
y=‘身高’,
hue=‘性别’,
data=df)如果按颜色映射性别,绘制两条不同性别的身高折线,则可以使用下面代码实现。同理,如果分别按线条宽度和线条类型映射性别,则分别设置size和style参数的值为“性别”即可。此处需要注意的是,只有对data参数赋值(方法二),才能实现映射。2.2.3图表风格seaborn将matplotlib图表的参数划分为两个独立的组:第一组用于设置图表的外观风格,即样式主题;第二组用于设置图表的元素尺寸,即按比例缩放图表的各种元素,不会影响整体样式。2.2.3图表风格seaborn提供了5种内置的样式主题,如下。1.样式主题darkgrid(灰色背景+白网格,默认)whitegrid(白色背景+黑网格)dark(仅灰色背景)2.2.3图表风格seaborn提供了5种内置的样式主题,如下。1.样式主题white(仅白色背景)ticks(白色背景、无网格、带坐标轴刻度线)2.2.3图表风格seaborn提供了set_style()函数,用于修改图表的样式主题及其默认参数,其一般格式如下。1.样式主题set_style(style,
rc)表示样式主题,取值为seaborn提供的内置样式主题表示样式主题的参数,为一个字典2.2.3图表风格1.样式主题set_style()函数通过rc只能修改axes_style()函数返回值中的参数,如图表中网格线颜色、字体、坐标轴刻度线显示方向等。axes_style()函数的返回值如图所示。2.2.3图表风格例如,设置图表的两种样式主题,可以使用下面代码实现。1.样式主题#设置样式主题为“whitegrid”#设置样式主题为“whitegrid”sns.set_style('whitegrid')#设置样式主题为“darkgrid”、字体为“MicrosoftYaHei”、网格线颜色为“black”sns.set_style(style=‘darkgrid’,
rc={‘font.sans-serif’:‘MicrosoftYaHei’,
‘grid.color’:‘black’})2.2.3图表风格其中,darkgrid主题下设置的字体和网格线颜色效果如图所示。1.样式主题2.2.3图表风格seaborn提供了4种内置的元素尺寸,从小到大分别为paper、notebook(默认)、talk和poster。2.元素尺寸2.2.3图表风格seaborn提供了set_context()函数,用于设置图表的元素尺寸,其一般格式如下。2.元素尺寸set_context(context,
rc)表示元素尺寸,取值为seaborn提供的内置元素尺寸表示元素尺寸的参数,为一个字典2.2.3图表风格2.元素尺寸set_context()函数通过rc只能修改plotting_context()函数返回值中的参数,如图表中字体、图例或其他元素的大小。plotting_context()函数的返回值如图所示。提示如果需要将图表风格重置到默认状态,则可以使用set()函数。2.2.4调色板在seaborn中,调色板是指一组颜色的预定义集合,用于设置图表的颜色主题,美化图表。每个调色板都通过一组独特的颜色来区分不同的类别或组。此外,seaborn还提供了自定义调色板功能,以便用户将自己喜欢的颜色进行组合。调色板定性调色板连续调色板发散调色板用户可以根据数据的具体特征选择合适的调色板2.2.4调色板定性调色板是一组有明显差异的颜色,通常用于离散数据,用来标识不同的类别或组。seaborn提供了6种内置的定性调色板,每种调色板默认有10种颜色。1.定性调色板colorblinddeep(默认)mutedpastelbrightdark2.2.4调色板seaborn提供了color_palette()函数,用于获取调色板的颜色列表,其一般格式如下。1.定性调色板color_palette(palette,n_colors=6,desat)表示颜色模板,可以为seaborn支持的任意调色板、matplotlib支持的颜色列表、HLS或HUSL颜色系统表示颜色数目表示颜色的饱和度2.2.4调色板seaborn提供了set_palette()函数,用于设置所有图表的颜色,其一般格式如下。1.定性调色板set_palette(palette,n_colors,
desat)2.2.4调色板例如,使用bright调色板设置所有图表的颜色,可以使用下面两种方法实现。1.定性调色板#方法一,直接使用调色板名称sns.set_palette('bright')#方法二,获取调色板的颜色列表,然后将其传入set_palette()函数palette=sns.color_palette('bright')sns.set_palette(palette)2.2.4调色板当绘制图表所需的颜色种类超过内置定性调色板中默认的颜色时,可以自定义定性调色板。1.定性调色板自定义定性调色板的常用方法使用圆形颜色系统使用xkcd颜色2.2.4调色板使用圆形颜色系统就是在圆形颜色空间绘制间隔均匀的颜色。最常用的圆形颜色系统有HLS(H表示色调、L表示亮度、S表示饱和度)颜色系统,它是RGB颜色系统的简单转换。1.定性调色板(1)使用圆形颜色系统2.2.4调色板例如,使用HLS颜色系统分别生成8、9、10种颜色的定性调色板,可以使用下面代码实现。1.定性调色板(1)使用圆形颜色系统sns.color_palette(‘hls’,
8)sns.color_palette(‘hls’,
9)sns.color_palette(‘hls’,
10)提示通过seaborn中的palplot()函数可以绘制调色板的颜色图。例如,绘制上图中8种颜色定性调色板的颜色图,可以使用下面代码实现。sns.palplot(sns.color_palette(‘hls’,
8))2.2.4调色板seaborn还提供了hls_palette()函数,用于控制颜色的色调、亮度和饱和度,其一般格式如下。1.定性调色板(1)使用圆形颜色系统hls_palette(n_colors=6,h=0.01,l=0.6,
s=0.65)表示颜色数目表示色调表示亮度表示饱和度h、l和s的取值范围为0~12.2.4调色板例如,使用HLS颜色系统分别生成3种不同色调、亮度和饱和度的定性调色板,可以使用下面代码实现。1.定性调色板(1)使用圆形颜色系统sns.hls_palette(h=0.1)sns.hls_palette(h=0.1,l=0.8)sns.hls_palette(h=0.1,l=0.8,
s=0.3)2.2.4调色板此外,为了解决HLS系统颜色与人眼视觉系统不一致的问题,seaborn提供了HUSL颜色系统。HUSL颜色系统保留了HLS颜色系统的色调、亮度和饱和度,但对色调维度进行了重新映射,使其更符合人眼的视觉感受。1.定性调色板(1)使用圆形颜色系统sns.color_palette(‘husl’,8)例如,使用HUSL颜色系统生成8种颜色的定性调色板,可以使用下面代码实现。2.2.4调色板对使用HLS和HUSL颜色系统生成的8种颜色的定性调色板进行对比,如图所示。1.定性调色板(1)使用圆形颜色系统2.2.4调色板xkcd颜色是对随机生成的RGB颜色的命名,共有954种颜色。seaborn提供了xkcd_palette()函数,用于使用xkcd颜色自定义定性调色板,其参数为颜色列表。1.定性调色板(2)使用xkcd颜色colors=[‘purple’,
‘green’,
‘blue’,
‘pink’,
‘brown’]sns.xkcd_palette(colors)例如,使用purple、green、blue、pink和brown这5种颜色生成定性调色板,可以使用下面代码实现。提示xkcd颜色中的954种颜色可参考xkcd颜色官方网站/color/rgb。2.2.4调色板连续调色板是一组连续变化的颜色,一般是单一色系,通常用于连续数据。连续调色板通常在色调上变化不大,在亮度和饱和度上变化很大。2.连续调色板seaborn生成连续调色板的方法使用ColorBrewer库使用cubehelix调色板自定义连续调色板2.2.4调色板ColorBrewer库中包含大量的连续调色板,它们以其中的主色命名,共18组颜色。ColorBrewer库中连续调色板的名称及渐变顺序如表所示。2.连续调色板(1)使用ColorBrewer库名称渐变顺序名称渐变顺序名称渐变顺序YlOrRd黄橙红Purples紫Greys灰YlOrBr黄橙棕PuRd紫红Greens绿YlGnBu黄绿蓝PuBuGn紫蓝绿GnBu绿蓝YlGn黄绿PuBu紫蓝BuPu蓝紫Reds红OrRd橙红BuGn蓝绿RdPu红紫Oranges橙Blues蓝2.2.4调色板如果要反转连续调色板的颜色,则在连续调色板名称后添加后缀“_r”。例如,生成YlOrRd连续调色板及其颜色反转的连续调色板,可以使用下面代码实现。2.连续调色板(1)使用ColorBrewer库sns.color_palette(‘YlOrRd’)sns.color_palette(‘YlOrRd_r’)2.2.4调色板cubehelix调色板是具有线性增加或降低亮度的连续调色板。seaborn提供了cubehelix_palette()函数,用于生成cubehelix调色板,其一般格式如下。2.连续调色板(2)使用cubehelix调色板cubehelix_palette(n_colors=6,start=0,light=0.85,dark=0.15,reverse=False)表示颜色数目,为int型表示开始时的色调,为float型,取值范围为0~3表示颜色亮度,为float型,取值范围为0~1表示颜色饱和度,为float型,取值范围为0~1表示调色板颜色是否反转,为boolean型2.2.4调色板例如,生成3种不同设置的cubehelix调色板,可以使用下面代码实现。2.连续调色板(2)使用cubehelix调色板sns.cubehelix_palette(start=2)sns.cubehelix_palette(start=2,
dark=0.5)sns.cubehelix_palette(start=2,dark=0.5,reverse=True)2.2.4调色板seaborn提供了light_palette()和dark_palette()函数,用于生成单一颜色从浅色到深色或从深色到浅色渐变的调色板。任何有效的matplotlib颜色都可以传递给这两个函数,包括xkcd颜色,HLS、HUSL或RGB颜色系统的r、g、b元组。light_palette()和dark_palette()函数的一般格式如下。2.连续调色板(3)自定义连续调色板light_palette(color,n_colors=6,reverse=False,
input=‘rgb’)dark_palette(color,n_colors=6,reverse=False,
input=‘rgb’)表示调色板的基础颜色表示输入的颜色格式,如hsl、husl和rgb等2.2.4调色板例如,分别使用xkcd颜色及hsl、husl和rgb颜色格式生成连续调色板,可以使用下面代码实现。2.连续调色板(3)自定义连续调色板sns.light_palette(‘pink’)sns.light_palette((0.2,0.8,
0.6),
input=‘hsl’)sns.light_palette((200,80,
60),
input=‘husl’)sns.dark_palette(‘pink’)sns.dark_palette((0.2,0.8,
0.6),
input=‘rgb’)2.2.4调色板发散调色板是一组中间位置的颜色最亮或最暗,然后分别向两端递增或递减的颜色,通常用于有明确中点、低值和高值的数据。3.发散调色板发散调色板选择颜色的原则是:第一个色调和最后一个色调具有相似的亮度和饱和度,并且经过色调偏移后在中点处和谐地相遇;尽量避免使用红色和绿色。2.2.4调色板ColorBrewer库中也包含一些发散调色板,共9组颜色,其名称及渐变顺序如表所示。3.发散调色板名称渐变顺序名称渐变顺序名称渐变顺序BrBG棕蓝绿PuOr紫橙RdYlBu红黄蓝PiYG粉黄绿RdBu红蓝RdYlGn红黄绿PRGn紫红绿RdGy红灰Spectral七色光谱2.2.4调色板ColorBrewer库中发散调色板的使用方法和其中的连续调色板一样。seaborn提供了diverging_palette()函数,用于生成发散调色板,其一般格式如下。3.发散调色板diverging_palette(n=6,h_neg,h_pos,l=50,s=75,center=‘light’)表示颜色数目,为int型表示负向和正向颜色的范围,为float型,取值范围为0~359表示颜色的亮度和饱和度,为float型,取值范围为0~100表示中点颜色,取值为“light”(明)或“dark”(暗)2.2.4调色板例如,生成4种不同设置的发散调色板,可以使用下面代码实现。3.发散调色板sns.diverging_palette(h_neg=60,h_pos=300)sns.diverging_palette(h_neg=60,
h_pos=350)sns.diverging_palette(h_neg=60,h_pos=350,
l=60)sns.diverging_palette(h_neg=60,h_pos=350,l=60,center=‘dark’)设置图表的元素尺寸用哪个函数?调色板通常可以分为哪几类?课堂检测seaborn数据可视化认识seaborn常用的绘图函数图表风格调色板课堂小结2.3
pyecharts数据可视化2.3.1认识pyechartspyecharts是一个基于ECharts实现的Python数据可视化库,它可以帮助用户轻松地生成ECharts图表,并且支持30多种常见的图表类型,包括柱形图、折线图、气泡图、日历图、词云图等。2.3.1认识pyecharts此外,pyecharts还提供了丰富的图表样式和高级功能,如动画效果、主题定制等,以满足不同应用场景的需求。JupyterNotebookpyecharts可以与FlaskDjango等常用的Python开发工具结合使用,方便快捷,易于上手。2.3.2绘图基础pyecharts支持绘制多种ECharts图表,针对每种图表提供了相应的图表类,并将这些类封装在charts模块中。charts模块中常用的图表类如表所示。1.图表类图表类图表类型图表类图表类型Line折线图、面积图Line3D3D折线图Bar柱形图、条形图Bar3D3D柱形图、3D条形图Pie饼图、环形图Scatter3D3D散点图Scatter散点图、气泡图Map统计地图EffectScatter带涟漪特效的散点图BMap地理热力图、地理散点图2.3.2绘图基础所有图表类都可以通过与之同名的构造方法创建对象,所有构造方法都包含一个init_opts参数,用于设置初始化配置项。1.图表类图表类图表类型图表类图表类型Boxplot箱形图Tree树状图Radar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论