Python大数据可视化方法与实践课件 第4章 比例数据可视化_第1页
Python大数据可视化方法与实践课件 第4章 比例数据可视化_第2页
Python大数据可视化方法与实践课件 第4章 比例数据可视化_第3页
Python大数据可视化方法与实践课件 第4章 比例数据可视化_第4页
Python大数据可视化方法与实践课件 第4章 比例数据可视化_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章比例数据可视化掌握饼图与圆环图的原理、适用场景及Python编程实现,提升数据分析与科学决策能力。本章学习目标饼图适用场景了解饼图的核心应用领域与最佳实践饼图编程实现掌握Pythonmatplotlib绘制饼图的方法圆环图优势了解圆环图的特点及其相较饼图的优势圆环图编程掌握圆环图的Python编程实现数字化转型下的比例数据可视化在当前数字化转型的大背景下,比例数据的可视化分析成为实现科学决策、精准施策的重要手段。随着信息技术和数据采集技术的飞速发展,各行各业都积累了海量的数据资源,其中包含丰富的比例关系信息。1市场占有率企业竞争格局分析2用户行为占比用户画像与行为洞察3投入产出比资源配置与效益评估本章内容概览本章将围绕比例数据可视化的实际需求,详细介绍其典型表现形式——饼图、圆环图等,并以Python语言为载体,引导读者掌握这些实用技术和工具,进一步提升数据分析能力与科学思维水平,助力运用大数据分析方法解决实际问题。比例理论比例可视化的基础认知饼图与圆环图图表设计与解读技巧Python实战应用基于真实数据集实现图表从理论认知到技术掌握,再到实际应用,循序渐进地构建比例数据可视化能力。4.1饼图4.1饼图基础概念什么是饼图?饼图是用来反映数据比例的图形。整个圆形的面积代表所研究数据的整体,每一个扇形代表每一个子集(部分)所占的百分比。饼图给出了部分相对于整体的比例。首先计算各个部分与总额的比例,然后以图形的方式直接显示各个组成部分所占比例,形象直观。饼图的应用领域饼图在商业研究、媒体传播等多个领域中应用广泛,尤其适合于描述以下场景:预算分配直观展示各项支出在总预算中的占比市场份额清晰呈现各品牌或产品的市场占有率时间与资源分配展示时间或资源在不同任务间的分配比例饼图的优势与局限优势能够有效突出某个部分在整体中所占的比重,尤其适合强调某一占比明显较大的数据⚠️局限当需要精细比较各部分差异时,则不如条形图或柱形图直观受欢迎电影类型饼图如图4-1所示,饼图通过不同颜色的扇区表现了不同类型电影的受欢迎程度,直观展示了各类型在整体中的占比关系。图4-1受欢迎电影类型饼图重要提示饼图在科学文献中的局限性虽然饼图在商业领域应用广泛,但在科学文献中却很少使用。因为人们在饼图中很难对不同的扇区大小进行直观比较,更难比较不同饼图之间的数据。这是由于饼图依赖面积和角度来编码信息。根据史蒂文斯幂函数定律,人类对面积的感知幂指数约为0.7,而对长度的感知幂指数约为1.0。这意味着长度更适用于度量。史蒂文斯幂函数定律0.7面积感知人类对面积的感知幂指数1.0长度感知人类对长度的感知幂指数AT&T贝尔实验室的研究证明,使用角度来进行比较不如使用长度精确。这就是为什么在需要精确比较时,柱形图往往优于饼图。饼图vs柱形图:对比分析如图4-2所示,图中给出了根据相同数据绘制的3幅饼图,而下面则是对应的柱形图。在饼图中很难根据大小对比较对象进行排序,但柱形图却很容易做到这一点。图4-2同时使用饼图和柱形图绘制3组数据何时选择饼图?何时选择柱形图?如果目的是在单一图表中对一个对象(扇区)和整体(整幅饼图)之间的关系进行比较,饼图的效果往往比柱形图更好。但用柱形图更容易进行数据集之间的比较。编程实践matplotlib绘制饼图plt.pie()函数介绍可以利用函数matplotlib.pyplot.pie()画出饼图,并能够设置饼图的绘制方向、是否突出显示某一部分扇区等。matplotlib.pyplot.pie(x,explode,labels,startangle,colors)下面介绍饼图常用的参数。饼图核心参数详解1x(每一块)扇区的面积占比2labels(每一块)扇区外侧显示的说明文字3explode(每一块)扇区偏离中心的距离4startangle起始绘制角度,默认从x轴正方向逆时针绘制,设置90则从y轴正方向开始5colors指定各扇区所使用的颜色案例:电影类型偏好调研假设对一个班级所有学生进行电影类型偏好调研,各类型获得的票数如下:爱情🎬45票喜剧😂16票科幻🚀24票剧情🎭28票使用matplotlib库可以绘制简单的饼图来展示这些数据。绘制简单饼图:代码实现importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']#指定中文字体name_list=['爱情','喜剧','科幻','剧情']num_list=[45,16,24,28]colors=['yellow','orange','blue','red']plt.pie(x=num_list,labels=name_list,colors=colors)plt.show()这段代码通过plt.pie()函数,将票数数据以饼图形式可视化,使用labels标注类别名称,colors指定各扇区颜色。代码运行结果代码运行结果如图4-3所示,清晰展示了四种电影类型的偏好占比。图4-3电影类型偏好最佳实践饼图阅读与设计技巧1表盘方式阅读将面积最大的部分放置在12点钟方向的右侧2控制扇区数量人眼在同一区域能识别的颜色数量有限,扇区一般应控制在6个以内3合并多余类别若数据类别过多,应将多余类别合并为"其他"标注百分比提升可读性为什么需要标注?当分类占比差距较小时,直接比较扇区大小的难度较大。因此,通常会在饼图中直接标注百分比,以便直观了解各部分在整体中的占比。关键参数通过autopct参数设置饼图内的百分比数据显示,可以使用format字符串指明小数点后的位数。利用shadow=True设置饼图阴影使饼图更加美观。autopct参数使用方法plt.pie(x=num_list,labels=name_list,colors=colors,autopct='%3.1f%%',shadow=True)autopct='%3.1f%%'表示在每个扇区内显示保留一位小数的百分比数值,shadow=True为饼图添加阴影效果,增强立体感。优化后的饼图效果添加百分比标注和阴影效果后,饼图的可读性和美观度显著提升,如图4-4所示。图4-4优化饼图进阶技巧突出显示扇区explode参数:突出显示扇区在各种媒体平台,经常可以看到饼图的某个部分被突出显示,以起到提示、强调的作用。可以利用explode参数设置每个部分距离饼图中心点的距离。例如explode=[0,0,0.1,0],此时饼图4个部分中第三个部分(科幻)距离中心点较远,形成突出效果。突出扇区效果展示如图4-5所示,"科幻"扇区被突出显示,视觉上与其他扇区形成明显区分,有效引导读者关注该部分数据。图4-5突出扇区突出扇区:完整代码importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']name_list=['爱情','喜剧','科幻','剧情']num_list=[45,16,24,28]colors=['yellow','orange','blue','red']expl=[0,0,0.1,0]plt.pie(x=num_list,labels=name_list,colors=colors,autopct='%3.1f%%',shadow=True,explode=expl)plt.title("电影类型偏好调研")plt.show()代码逐行解析01导入库与字体设置importmatplotlib.pyplotasplt导入绑图库,rcParams设置中文字体为SimHei02准备数据定义类别名称列表name_list、票数列表num_list、颜色列表colors03设置突出参数expl=[0,0,0.1,0]使第三个扇区(科幻)偏离中心0.1个单位04绑制与显示调用plt.pie()传入所有参数,plt.title()添加标题,plt.show()显示图形饼图参数速查表参数类型说明x数组各扇区的面积占比数据labels列表各扇区外侧显示的说明文字explode列表各扇区偏离中心的距离startangle数值起始绘制角度,默认0(x轴正方向)colors列表指定各扇区使用的颜色autopct字符串设置饼图内百分比数据的显示格式shadow布尔值是否显示阴影效果饼图绘制流程总结准备数据定义分类名称与对应数值配置参数设置颜色、标签与突出扇区调用plt.pie()将数据与参数传入绘图函数展示与优化添加标题、百分比与阴影效果从数据准备到最终展示,每一步都可以通过参数灵活配置,满足不同的可视化需求。饼图设计最佳实践总结扇区数量≤6人眼识别颜色有限,过多类别应合并为"其他"标注百分比占比差距小时,直接标注百分比便于直观了解12点钟方向将最大扇区放在12点钟右侧,参照表盘方式阅读善用explode突出显示关键扇区,起到提示和强调作用饼图vs柱形图:选择指南感知科学:为什么角度不如长度?史蒂文斯幂函数定律人类对面积的感知幂指数约为0.7,意味着我们会系统性地低估面积差异。而对长度的感知幂指数约为1.0,几乎完美线性感知。AT&T贝尔实验室的研究进一步证实:使用角度进行比较不如使用长度精确。实际数据对比验证使用电影偏好调研数据,分别用饼图和柱形图展示,直观感受两种图表的差异。饼图清晰展示了"爱情"类型在整体中的主导地位。同一数据的柱形图表示柱形图使得各类型之间的精确数值差异一目了然,便于排序和比较。两种图表各有优势,应根据分析目的灵活选择。知识拓展饼图的演变与变体从基础饼图出发,数据可视化领域发展出了多种变体形式,包括圆环图、南丁格尔玫瑰图、旭日图等,每种都有其独特的适用场景和表现优势。接下来我们将重点学习圆环图。本节小结概念理解饼图以圆形面积表示整体,扇形表示各部分占比,直观反映比例关系适用场景适合展示部分与整体的关系,扇区数量建议不超过6个,强调某一主导类别时效果最佳编程实现使用matplotlib的plt.pie()函数,核心参数包括x、labels、colors、explode、autopct、shadow等设计规范标注百分比提升可读性,从12点钟方向起始,善用explode突出关键扇区,必要时与柱形图结合使用掌握饼图的设计原则与编程实现,是比例数据可视化的重要基础,也为后续学习圆环图等变体形式奠定了坚实基础。第四章4.2圆环图理解圆环图的本质、优势与绘制原则什么是圆环图?圆环图是饼图的一种变形,去掉了中间部分后,在视觉上比饼图看起来更"轻",但依然能很好地展示数据间的占比关系。人们的阅读顺序是自上而下、顺时针的,因此绘制圆环图时需遵循这一规律:将数据项根据值的大小排序,将最明显的部分放在最易阅读的位置。核心优势视觉更简洁轻盈中间空白可显示其他信息引导用户关注弧线长度而非面积圆环图的绘制参数圆环图与饼图的绘制方法十分类似,但需要通过特定参数控制环形的外观:radius设置环形的外径大小wedgeprops以字典形式设置圆环宽度及边界属性(线粗、颜色等)pctdistance调整百分比标注的显示位置实例:海绵蛋糕原料配比以海绵蛋糕配比为例,绘制半径为1、宽度为0.3的圆环图。通过pctdistance=0.85使百分比标注恰好位于圆环中心点;通过wedgeprops=dict(width=0.3,edgecolor='w')定义圆环宽度并将边界颜色设为白色。鸡蛋占比最大(45.5%),其次是面粉(18.2%)和砂糖(16.7%)。核心代码解析labels=["鸡蛋","砂糖","面粉","黄油","牛奶"]data=[150,55,60,25,40]colors=["#FF4500","#00FF00","#1E90FF","#FF1493","#FFD700"]plt.pie(data,labels=labels,colors=colors,autopct='%3.1f%%',radius=1,pctdistance=0.85,wedgeprops=dict(width=0.3,edgecolor='w'))plt.title("海绵蛋糕原料配比")plt.show()关键参数说明radius=1:外径为1width=0.3:圆环宽度pctdistance=0.85:标注位于环中心edgecolor='w':白色边界线显示顺序与起始角度默认各部分显示顺序为逆时针。可通过以下参数调整:counterclockFalse为顺时针,True为逆时针(默认值)startangle设置显示的起始角度,例如startangle=90从12点钟方向开始设置counterclock=False,startangle=90后,数据将从顶部开始按顺时针排列,符合人们的自然阅读习惯。效果对比:逆时针vs顺时针图4-6默认逆时针数据按逆时针方向排列,起始角度为0°图4-7顺时针排列设置counterclock=False,startangle=90后的效果注意事项百分比标注的累积误差使用autopct='%3.1f%%'只保留一位小数时,各扇区百分比累加后可能不等于100%。这是数值格式化引起的累积误差,而非计算错误。增加小数位提高精度减少误差自定义格式化函数手动控制显示逻辑显示绝对值同时展示原始数据进阶技巧圆环图的独特优势从简洁设计到嵌套圆环,释放圆环图的全部潜力圆环图vs饼图圆环图比饼图更具优势,不仅仅是"简洁":关注弧线长度用户不再只关注"饼"的面积,而更重视弧线长度的变化重视总体数值引导用户关注总体数值变化,而非仅比较各部分比例中心信息展示中间空白处可用来显示其他关键信息嵌套圆环图:多组数据对比在已有圆环图内侧绘制嵌套圆环图,可同时展示多组数据的比较关系。尺寸计算外层圆环:半径=1,宽度=0.3内层圆环:半径=0.7,宽度=0.3内层不需要再设置labels,避免字符重叠plt.pie(data2,colors=colors,autopct='%3.1f%%',radius=0.7,pctdistance=0.75,wedgeprops=dict(width=0.3,edgecolor='w'))内层圆环的pctdistance设为0.75,确保标注位于内环中心。嵌套圆环图数据对比海绵蛋糕(外环)鸡蛋150g|砂糖55g|面粉60g|黄油25g|牛奶40g磅蛋糕(内环)鸡蛋100g|砂糖80g|面粉100g|黄油80g|牛奶25g通过嵌套圆环图,可以直观对比两种蛋糕的原料配比差异——磅蛋糕的面粉和黄油占比明显更高。图例配置详解精确控制图例的位置与样式什么是图例?图例是以图标和颜色说明图表中各部分内容的工具,通常放置在图的角落或侧面。使用matplotlib.pyplot.legend()方法为图表添加图例。1loc参数设置图例的大致位置,如upperright、centerleft等2bbox_to_anchor微调图例位置,格式为(num1,num2),控制左右和上下偏移3title参数为图例添加标题说明,如title="成分"loc参数选项一览参数值位置说明best自动选择最佳位置upperright/upperleft右上角/左上角lowerright/lowerleft右下角/左下角centerright/centerleft中间偏右/中间偏左uppercenter/lowercenter上方居中/下方居中center正中央如果loc参数可以满足需求,则可以省略bbox_to_anchor参数。bbox_to_anchor微调机制参数格式(num1,num2)num1:控制左右移动,数值越大越靠右num2:控制上下移动,数值越大越靠上本例推荐设置先通过loc="centerright"定位在中间偏右,再使用bbox_to_anchor=(1.2,0.3)微调,避免遮挡图例和标签文字。plt.legend(title="成分",loc="centerright",bbox_to_anchor=(1.2,0.3))完整嵌套圆环图代码importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']labels=["鸡蛋","砂糖","面粉","黄油","牛奶"]data=[150,55,60,25,40]data2=[100,80,100,80,25]colors=["#FF4500","#00FF00","#1E90FF","#FF1493","#FFD700"]plt.pie(data,labels=labels,colors=colors,autopct='%3.1f%%',radius=1,pctdistance=0.85,wedgeprops=dict(width=0.3,edgecolor='w'))plt.pie(data2,colors=colors,autopct='%3.1f%%',radius=0.7,pctdistance=0.75,wedgeprops=dict(width=0.3,edgecolor='w'))plt.legend(title="成分",loc="centerright",bbox_to_anchor=(1.2,0.3))plt.title("海绵蛋糕与磅蛋糕原料配比")plt.show()添加图例后的效果图例清晰标注了五种成分对应的颜色,放置在图表右侧不遮挡主体内容。嵌套圆环图同时展示了海绵蛋糕(外环)与磅蛋糕(内环)的原料配比对比。4.3知识拓展:比例数据可视化图表超越饼图与圆环图,探索更多比例数据的可视化方法三种扩展图表类型百分比堆叠柱形图在同一柱体内堆叠显示不同子类别,总高度标准化为100%百分比堆叠面积图柱形图在连续维度下的扩展,展示时间序列的比例演变矩形树图空间填充型可视化,矩形面积与数值成正比百分比堆叠柱形图与簇状柱形图强调类别之间的并列比较不同,堆叠柱形图通过在同一柱体内堆叠显示不同子类别的数据值,体现总量与构成部分之间的关系。将每个柱体的总高度统一标准化为100%,即所有子类别的比例之和为100%,就形成了百分比堆叠柱形图。从直观上看,每一个柱体都可以看作是纵向拉长的"饼图"。百分比堆叠柱形图的适用场景适合使用关注整体比例关系比较不同总体的构成差异子类别数量适中(3-6个)各部分比例差异明显⚠️注意事项子类别数量过多时,柱体内部分割过于零碎各部分比例差异过小时,降低可读性不适合精确数值比较百分比堆叠柱形图示例这种图表能够直观展示总体内部各部分的比例结构,并用于比较不同总体的构成差异。百分比堆叠面积图百分比堆叠面积图是百分比堆叠柱形图在连续维度下的扩展形式。以连续的填充区域替代分离的柱体,各子类别数值按比例在纵向上堆叠,每个时间点的数据总计均为100%。多个颜色区域自下而上堆叠,形成完整的填充区域。整个图形代表总体数据,每段特定颜色区域对应某个时间点在总体中的百分比贡献。面积图vs柱形图连续性优势面积图具有连续性,能更直观地展示数据随时间变化的趋势比例演变清晰展示各组成部分在不同时间段所占比例的变化情况最佳场景特别适合展示时间序列数据的总体构成和比例演变,而非静态对比百分比堆叠面积图示例面积图清晰展示了线上渠道占比逐月上升、门店渠道占比逐月下降的趋势。矩形树图矩形树图是一种空间填充型可视化方法,用于展示层级结构以及各节点的相对大小。每个叶节点对应一个矩形,其面积与数值成正比;上层节点由子节点对应的矩形嵌套构成,可通过分组边框或颜色区分层级。布局算法(如SquarifiedTreemap算法)会自动优化长宽比,减少过细长矩形的出现以提升可读性。矩形树图的应用与局限适用场景磁盘文件系统展示文件占用空间分布预算结构展示资金分配情况大规模类别数据展示数据构成与资源分配⚠️局限性当类别过多或数值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论