教案28 绘制可视化图形展示分析结果-常见图形介绍_第1页
教案28 绘制可视化图形展示分析结果-常见图形介绍_第2页
教案28 绘制可视化图形展示分析结果-常见图形介绍_第3页
教案28 绘制可视化图形展示分析结果-常见图形介绍_第4页
教案28 绘制可视化图形展示分析结果-常见图形介绍_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

厦门电子职业中专学校教案纸第1页学科数据分析与可视化第五章电商平台店铺分析结果展示及调优绘制可视化图形展示分析结果—常见图形介绍检查授课班级授课时数2教具计算机、投影仪多媒体教学网络授课时间教学方法授课、投影仪演示及上机操作教学目的1.理解数据可视化的重要性及其在数据分析中的应用。2.掌握散点图、折线图、饼图、柱状图等基本图形的特点和适用场景。3.了解帕累托图、相关系数矩阵图、关系图、漏斗图、桑基图等高级图形的绘制方法和应用场景。4.培养学生使用matplotlib和pyecharts等工具绘制常见图形的能力。5.提高学生分析和解释数据可视化结果的能力。6.训练学生在实际问题中选择合适的数据可视化方法的能力。7.培养学生的数据意识和科学精神,激发他们探索数据背后规律的兴趣。8.通过数据可视化的教学,引导学生思考数据在社会发展和国家治理中的作用。教学重点和难点重点:1.常见图形的特点和适用场景。2.使用matplotlib和pyecharts绘制图形的方法。难点:1.数据可视化结果的分析和解释。2.在实际问题中选择合适的数据可视化方法。复习提问1.Matplotlib和PyEcharts在数据可视化方面的主要差异是什么?教学内容、方法、过程和板书设计教学追记【复习引入】引入:为了更直观地展示数据背后的深层含义和规律,我们特别呈现了一系列精心挑选的数据可视化案例。这些案例不仅运用了前沿的数据可视化技术,还结合了创意与设计,使复杂的数据信息以更生动、易懂的方式呈现给观众。通过细致入微的数据分析和视觉呈现,我们希望这些案例能够为您带来深刻的启示,激发您对数据可视化的兴趣和热情。教案纸附页第2页教学内容、方法、过程和板书设计教学追记【新课教学】常见图形介绍在许多实际情境中,我们需要同时考虑多个变量之间的关系。多变量图形可以使我们在探索数据时识别变量之间的相互作用和相关性。本章将引导学生学习和掌握多个变量间的可视化分析技巧。散点图散点图是一种用点表示数据点的图表,用于显示两个变量之间的关系和分布情况。每个点在图中的位置由其对应的两个变量的值决定,横轴和纵轴分别表示这两个变量。散点图适合用于展示数据的离散分布、趋势、相关性等。散点图的优点包括:显示相关性:通过观察数据点的分布,可以直观地看到两个变量之间的相关性(正相关、负相关或无相关)。展示分布:能够展示数据的离散情况、集群现象和异常点。易于理解:图表结构简单,易于理解和解释。为了更好地理解散点图,下面是使用matplotlib和pyecharts创建散点图的示例代码:#使用matplotlib创建散点图:importmatplotlib.pyplotaspltimportnumpyasnp#生成示例数据np.random.seed(0)教案纸附页第3页教学内容、方法、过程和板书设计教学追记x=np.random.rand(100)y=np.random.rand(100)#创建散点图plt.scatter(x,y,c='blue',alpha=0.5)plt.title('ScatterPlotusingMatplotlib')plt.xlabel('X-axis')plt.ylabel('Y-axis')plt.show()以下是代码运行的结果:#使用pyecharts创建散点图:frompyecharts.chartsimportScatterfrompyechartsimportoptionsasopts教案纸附页第4页教学内容、方法、过程和板书设计教学追记#创建Scatter对象scatter=Scatter()#添加数据scatter.add_xaxis(x.tolist())scatter.add_yaxis("RandomData",y.tolist())#设置全局配置项scatter.set_global_opts(title_opts=opts.TitleOpts(title="ScatterPlotusingPyecharts"),xaxis_opts=opts.AxisOpts(name="X-axis"),yaxis_opts=opts.AxisOpts(name="Y-axis"),)#渲染图表scatter.render()代码运行结果如下:教案纸附页第5页教学内容、方法、过程和板书设计教学追记折线图折线图是一种用线段连接数据点的图表,通常用于显示数据随时间的变化趋势。折线图的每个点代表一个数据值,点与点之间通过线段连接,从而形成一条折线。它适用于连续数据的变化和趋势分析。折线图的优点包括:显示趋势:折线图能够清晰地展示数据随时间或其他连续变量变化的趋势,适合用于时间序列分析。比较多个数据集:可以在同一个图表中绘制多条折线,方便比较不同数据集的变化趋势。直观易懂:通过折线的走向,可以直观地观察数据的上升、下降或波动情况。为了更好地理解折线图,下面是使用matplotlib和pyecharts创建折线图的示例代码。#使用matplotlib创建折线图:importmatplotlib.pyplotaspltimportnumpyasnp#生成示例数据np.random.seed(0)x=np.arange(1,51)y=np.random.rand(50).cumsum()#创建折线图plt.figure(figsize=(12,4))教案纸附页第6页教学内容、方法、过程和板书设计教学追记plt.plot(x,y,marker='o',linestyle='-',color='blue',alpha=0.7)plt.title('LineChartusingMatplotlib')plt.xlabel('X-axis')plt.ylabel('Y-axis')plt.grid(True)plt.show()代码运行结果如下:#使用pyecharts创建折线图:frompyecharts.chartsimportLinefrompyechartsimportoptionsasoptsimportnumpyasnpx=np.arange(1,51)y=np.random.rand(50).cumsum().round(2)#创建Line对象line=Line()#添加数据line.add_xaxis(x.tolist())教案纸附页第7页教学内容、方法、过程和板书设计教学追记line.add_yaxis("RandomData",y.tolist(),is_smooth=True)#设置全局配置项line.set_global_opts(title_opts=opts.TitleOpts(title="LineChartusingPyecharts"),xaxis_opts=opts.AxisOpts(name="X-axis"),yaxis_opts=opts.AxisOpts(name="Y-axis"),)line.render('折线图.html')代码运行结果如下:饼图饼图是一种圆形统计图表,通过扇形的角度大小来显示类别数据的构成比例。每个扇形的角度与其代表的数据值成比例,因此饼图可以直观地显示各类别在总体中的比例关系。饼图的优点包括:教案纸附页第8页教学内容、方法、过程和板书设计教学追记直观表现比例:饼图可以清晰地展示每个类别在整体中的比例,适合用于展示数据的构成。易于理解:饼图结构简单,便于观众快速理解数据的分布情况。饼图的基本组成部分:为了更好地理解饼图,下面是使用matplotlib和pyecharts创建饼图的示例代码。#使用matplotlib创建饼图:importmatplotlib.pyplotasplt#生成示例数据labels=['A','B','C','D']sizes=[15,30,45,10]colors=['gold','yellowgreen','lightcoral','lightskyblue']explode=(0.1,0,0,0)#突出显示'A'扇区#创建饼图plt.pie(sizes,explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=140)plt.axis('equal')#确保饼图为正圆形plt.title('PieChartusingMatplotlib')plt.show()代码运行结果如下:教案纸附页第9页教学内容、方法、过程和板书设计教学追记#使用pyecharts创建饼图frompyecharts.chartsimportPiefrompyechartsimportoptionsasopts#生成示例数据data=[("A",15),("B",30),("C",45),("D",10)]#创建Pie对象pie=Pie()#添加数据pie.add("",data)#设置全局配置项pie.set_global_opts(title_opts=opts.TitleOpts(title="PieChartusingPyecharts"))#设置系列配置项pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}({d}%)"))#渲染图表pie.render('饼图.html')代码运行结果如下:教案纸附页第10页教学内容、方法、过程和板书设计教学追记柱状图柱状图是一种常用的统计图表,通过矩形条的长度或高度来表示不同类别数据的数量或频率。每个条形的长度或高度与所代表的数据值成比例,从而直观地显示数据的分布和比较。柱状图可以是水平的(条从左到右延伸)或垂直的(条从下到上延伸)。柱状图的优点包括:直观易懂:柱状图清晰地展示了不同类别之间的差异,适合比较多个类别的数据。简单明了:柱状图的结构简单,容易理解和解释。灵活性强:可以通过调整柱的宽度、颜色、标签等方式进行美观和信息表达的优化。为了更好地理解柱状图,下面是使用matplotlib和pyecharts创建柱状图的示例代码。:#使用matplotlib创建柱状图:importmatplotlib.pyplotaspltimportnumpyasnp#生成示例数据categories=['A','B','C','D']values=[15,30,45,10]#创建柱状图plt.bar(categories,values,color=['gold','yellowgreen','lightcoral','lightskyblue'])plt.xlabel('Categories')plt.ylabel('Values')教案纸附页第11页教学内容、方法、过程和板书设计教学追记plt.title('BarChartusingMatplotlib')plt.show()代码运行结果如下:#使用pyecharts创建柱状图:frompyecharts.chartsimportBarfrompyechartsimportoptionsasopts#生成示例数据categories=['A','B','C','D']values=[15,30,45,10]#创建Bar对象bar=Bar()#添加数据教案纸附页第12页教学内容、方法、过程和板书设计教学追记bar.add_xaxis(categories)bar.add_yaxis("Values",values)#设置全局配置项bar.set_global_opts(title_opts=opts.TitleOpts(title="BarChartusingPyecharts"),xaxis_opts=opts.AxisOpts(name="Categories"),yaxis_opts=opts.AxisOpts(name="Values"),)#渲染图表bar.render_notebook()代码运行结果如下:帕累托图形帕累托图是一种特殊的条形图,用于识别造成最大影响的关键因素,通常应用于质量管理、数据分析和决策制定过程中。它以意大利经济学家维尔弗雷多·帕累托的名字命名,他观察到社会中的许多现象遵循一个特定的比例规律,即所谓的“帕累托原则”或“二八法则”。教案纸附页第13页教学内容、方法、过程和板书设计教学追记帕累托图由折线图和条形图构成,含有两个坐标轴。条形图部分显示各个因素的频率或成本,按照从高到低的顺序排列;折线图部分表示累积频率或累积成本的曲线,通常在右侧的次坐标轴上绘制;双坐标轴中的左侧主坐标轴与条形图关联,显示单个因素的值。右侧的次坐标轴与折线图关联,显示累积百分比。通过展示结果,可以轻易识别出哪些是最重要的因素,帮助我们快速聚焦于对结果有重大影响的少数关键因素,从而更有效地解决问题和优化资源分配。我们将通过创建一组数据来展示帕累托图的绘制过程:importnumpyasnpimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']='Simhei'#创建一组随机数据np.random.seed(0)categories=['name_{}'.format(i)foriinrange(10)]values=np.random.randint(100,10000,size=len(categories))#对数据进行排序,从大到小sorted_indices=np.argsort(values)[::-1]sorted_values=values[sorted_indices]sorted_categories=[categories[i]foriinsorted_indices]#计算累计百分比cumulative_percentages=np.cumsum(sorted_values)/np.sum(sorted_values)*100教案纸附页第14页教学内容、方法、过程和板书设计教学追记#绘制帕累托图fig,ax1=plt.subplots(figsize=(10,6))#条形图ax1.bar(range(len(sorted_categories)),sorted_values,color='b',alpha=0.7)ax1.set_xlabel('产品名称')ax1.set_ylabel('销量',color='b')ax1.tick_params('y',colors='b')#折线图ax2=ax1.twinx()ax2.plot(range(len(sorted_categories)),cumulative_percentages,color='r',marker='o')ax2.set_ylabel('累计百分比',color='r')ax2.tick_params('y',colors='r')#设置x轴的标签ax1.set_xticks(range(len(sorted_categories)))ax1.set_xticklabels(sorted_categories,rotation=90)plt.title('帕累托图演示')plt.tight_layout()plt.show()代码运行结果如下:教案纸附页第14页教学内容、方法、过程和板书设计教学追记如上图所示,左侧是垂直条形图,表示各个产品名称的销售额(以星星数量为单位)。右侧是一条上升的折线图,代表累积百分比。从条形图可以看出,前几个产品的销售额远高于其他产品。而折线图则显示了这些高销售额的产品对总销售额的贡献程度。当折线接近顶部时,说明大部分销售额是由前面几个产品产生的。通过观察帕累托图,我们可以确定哪些产品对于整体业绩最重要,并据此做出决策,例如优先关注和优化这些关键产品。关系数矩阵图相关系数矩阵图是一种统计图形,它用来展示多个变量之间的相关性。这种图形的特点在于,它不仅提供了数值上的相关系数,还通过视觉方式呈现这些系数,使得数据之间的关系更加直观易懂。相关系数矩阵图拥有对称性。由于相关系数矩阵是基于变量两两之间的相关性,因此矩阵是关于主对角线对称的。教案纸附页第15页教学内容、方法、过程和板书设计教学追记其中,主对角线上的值为1(因为任何变量与其自身的相关系数都是1,因此矩阵的主对角线上所有元素都是1),其他变量的相关系数的取值范围在-1到1之间,其中1表示完全正相关,-1表示完全负相关,0表示没有线性相关性。相关系数矩阵图经常以热力图的形式展现,使用颜色编码来表示不同强度的相关性,如深色(如蓝色)可能代表强正相关,浅色(如黄色)可能代表弱相关,而红色可能代表负相关。相关系数矩阵图适合展示多变量之间的关系。当研究中包含多个变量时,相关系数矩阵可以帮助识别变量间的关系模式,对于了解哪些变量紧密相关非常有用。在构建预测模型之前,通过相关系数矩阵图还可以检查自变量之间的多重共线性,这对于避免模型过拟合和提高预测准确性非常重要。我们将通过航班飞抵城市数据展示关系图的绘制过程:importpandasaspdimportmatplotlib.pyplotaspltimportseabornassnsdf=pd.read_csv("mtcars.csv")df.columns=["英里/加仑","气缸数量","排量","总马力","驱动轴比","重量","1/4英里所用时间","引擎","变速器","前进档数","化油器数量","用油是否高效","汽车","汽车名称"]plt.rcParams['font.sans-serif']=['Simhei']plt.rcParams['axes.unicode_minus']=False#绘制图像plt.figure(figsize=(12,8),dpi=70)sns.heatmap(df.corr()教案纸附页第16页教学内容、方法、过程和板书设计教学追记,xticklabels=df.corr().columns,yticklabels=df.corr().columns,cmap='coolwarm',center=0

,annot=True)plt.title('传统汽车属性相关性展示',fontsize=22)plt.xticks(fontsize=12,rotation=45,horizontalalignment='right')plt.yticks(fontsize=12)plt.show()代码运行结果如下:教案纸附页第17页教学内容、方法、过程和板书设计教学追记如上图所示。图中展示的是传统汽车属性的相关性。颜色越深表示相关性越高,颜色越浅表示相关性越低。总体来看,燃油效率(英里/加仑)与动力性能(如气缸数量、排量、总马力等)呈负相关;而动力性能相关的属性之间多呈正相关。此外,化油器数量与油耗也呈负相关。关系图关系图也常被称为网络图或节点链接图,是一种可视化数据结构的方式,用于展示实体(节点)之间的关系(边)。在关系图中,节点(或顶点)代表实体,边(或链路)则代表实体之间的关系。关系图能直观地显示节点之间的连接,使观察者容易理解实体之间的直接和间接关系。此外,节点和边的位置可以自由布局,以优化可读性和美观性。常见的布局包括圆形布局、力导向布局等。在关系图中,我们还可以通过调整节点的大小或颜色,突出显示重要的节点或节点组,便于观察者快速识别关键实体。这种图表广泛应用于社交网络分析(如分析人际关系、好友网络、关注者网络等)、系统架构可视化、知识图谱(如百科全书条目、主题之间的关系)以及许多其他领域。我们将通过航班飞抵城市数据展示关系图的绘制过程:importpandasaspddf0=pd.read_csv('filght_city.csv')df1=df0["departure_city"].value_counts()#城市出发航班统计df1=pd.DataFrame({'name':df1.index,"symbolSize":df1.values})#数据格式变换教案纸附页第18页教学内容、方法、过程和板书设计教学追记#生成节点数据nodes=[]foriindf1.values:dic1={}dic1['name']=i[0]dic1['symbolSize']=i[1]/50dic1['value']=i[1]nodes.append(dic1)#生成连线数据df2=df0[['departure_city','landing_city']].drop_duplicates()links=[]forjindf2.values:dic2={}dic2['source']=j[0]dic2['target']=j[1]links.append(dic2)frompyechartsimportoptionsasoptsfrompyecharts.chartsimportGraphc=(Graph(init_opts=opts.InitOpts(width="1800px",height="900px")).set_colors('blue').add("",nodes,links,layout="circular",is_rotate_label=True,教案纸附页第19页教学内容、方法、过程和板书设计教学追记linestyle_opts=opts.LineStyleOpts(opacity=0.4,curve=0.3,color="source",width=0.5),label_opts=opts.LabelOpts(font_size=8),).set_global_opts(title_opts=opts.TitleOpts(title="出发航线关系图")).render("show.html"))代码运行结果如下:如上图所示,该关系图展示了不同城市的航班连接情况。在图中,每个节点代表一个城市,而连线(称为边)表示两个城市之间存在航班连接。从中心位置向外辐射的蓝色线条代表从北京出发到达各个城市的航线。根据图中的标签,“北京”有“959”条到达其他城市的航线。图中显示了多个城市与北京之间的联系程度。由于线条数量众多且密集分布于整个图形周围,说明北京作为交通枢纽具有广泛的国内航空覆盖范围。此外,还可以看到一些特定的城市节点与其他城市节点之间存在较多的连接线,这表明这些地方可能是重要的转机点或者热门旅游目的地。教案纸附页第20页教学内容、方法、过程和板书设计教学追记总体而言,该图表直观地展示了中国主要城市间通过航空交通所建立起来的复杂网络结构。漏斗图漏斗图是一种特殊的图表类型,主要用于展示一个流程中各个阶段的数据变化,特别适用于销售漏斗、营销转化率、客户流失率等场景的可视化分析。漏斗图的形状像一个倒置的漏斗,每一层代表过程中的一个阶段,从顶部到底部,每一层的宽度(或面积)表示该阶段的数量或价值,通常从上到下逐渐减少,直观地反映出数据在各阶段的流失或转化情况。漏斗图广泛应用于各种领域来分析多步骤流程中的数据递减情况,具体包括:(1)销售与营销:从潜在客户到成交,或从广告曝光到购买,漏斗图揭示各阶段转化率,定位流程瓶颈。(2)网站分析:跟踪用户从访问到完成目标行动(如注册、购买)的转化路径,优化体验。(3)生产管理:监控产品从订单到交付的全流程,提升效率和质量。(4)人才招聘:梳理从简历筛选到录用的各个环节,精简招聘流程。(5)社会经济研究:分析资源分配、社会阶层流动等动态,洞察社会经济趋势。在以上的应用场景中,漏斗图以其直观的视觉表现力,帮助各行业识别并优化关键流程,促进效率提升。我们将通过用户购买行为数据展示关系图的绘制过程:frompyechartsimportoptionsasoptsfrompyecharts.chartsimportFunnel教案纸附页第21页教学内容、方法、过程和板书设计教学追记data=[("访问网站",10000),("浏览商品",9000),("添加到购物车",5000),("创建订单",3000),("支付订单",2000),("完成购买",1500),("二次购买",1000),("三次购买",600),("四次购买",300),("五次购买以上",100)funnel=(Funnel().add("转化漏斗",data_pair=data,sort_='descending',label_opts=opts.LabelOpts(position="inside"),).set_global_opts(title_opts=opts.TitleOpts(title="用户转化漏斗图"),legend_opts=opts.LegendOpts(pos_bottom=1),))funnel.render("漏斗图.html")教案纸附页第22页教学内容、方法、过程和板书设计教学追记代码运行结果如下:如上图所示,图中描绘了用户从浏览到购买的整个过程。漏斗由宽至窄,反映了随着用户行为决策进程深入,用户参与度逐步降低的现象。各个阶段使用不同的色彩进行标识,可以让我们更加便于比对各环节做出的用户决策效果。桑基图桑基图由菲尼亚斯·里尔·桑基在1898年为了描述蒸汽机的热效率而得名。桑基图是一种特殊的流程图,用于展示不同类别间的数据流动和量级。桑基图的特点是分支的宽度与流量的大小成正比,使得数据的来源、分配和去向一目了然。它们常用于能源消耗、物料流动、资金流向等领域的分析,能够清晰展示复杂的流动结构和平衡关系。我们将通过能源来源及流向数据展示关系图的绘制过程:frompyecharts.chartsimportSankeyfrompyechartsimportoptionsasoptsnodes_data=[{"name":"煤炭"},{"name":"石油"},{"name":"天然气"},{"name":"核能"},教案纸附页第23页教学内容、方法、过程和板书设计教学追记{"name":"可再生能源"},{"name":"工业"},{"name":"商业"},{"name":"住宅"},]links_data=[{"source":"煤炭","target":"工业","value":50},{"source":"煤炭","target":"商业","value":15},{"source":"煤炭","target":"住宅","value":5},{"source":"石油","target":"工业","value":30},{"source":"石油","target":"商业","value":10},{"source":"石油","target":"住宅","value":5},{"source":"天然气","target":"工业","value":25},{"source":"天然气","target":"商业","value":10},{"source":"天然气","target":"住宅","value":15},{"source":"核能","target":"工业","value":20},{"source":"核能","target":"商业","value":5},{"source":"核能","target":"住宅","value":5},{"source":"可再生能源","target":"工业","value":10},{"source":"可再生能源","target":"商业","value":5},{"source":"可再生能源","target":"住宅","value":10},sankey=(Sankey().add("energyconsumption",nodes=nodes_data,教案纸附页第24页教学内容、方法、过程和板书设计教学追记links=links_data,linestyle_opt=opts.LineStyleOpts(opacity=0.6,curve=0.5,color="source"),label_opts=opts.LabelOpts(p

温馨提示

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

最新文档

评论

0/150

提交评论