Python程序设计 电子教案 第八章 数据可视化_第1页
Python程序设计 电子教案 第八章 数据可视化_第2页
Python程序设计 电子教案 第八章 数据可视化_第3页
Python程序设计 电子教案 第八章 数据可视化_第4页
全文预览已结束

付费下载

下载本文档

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

文档简介

章节名称■理论课口案例讨论课■实验课习题课其他教学目的●理解数据可视化的意义和重要性。●掌握使用Matplotlib库进行基本图表的绘制。●学会使用NumPy和Pandas库进行数据处理。●通过实际案例,应用所学知识完成数据可视化任务。教学重点●案例分析学会制作简单的数据可视化图教学难点●数据处理教学内容1.数据可视化的意义数据可视化的重要性:通过图表直观展示数据,帮助理解和分析数据之间的关系。应用场景:数据分析、报告制作、科学计算等。2.Matplotlib库简介Matplotlib概述:Matplotlib是Python中最流行的2D绘图库,支持生成各种图表。安装Matplotlib:Windows系统:python-mpipinstall-UmatplotlibMac或Linux系统:sudopip3installmatplotlib导入Matplotlib:importmatplotlib.pyplotasplt3.图表的基本元素Figure对象:顶层绘图区域,对应整个图形。Axes对象:包含图表的具体内容,如标题、标签、刻度等。常用函数:plt.plot():绘制折线图。plt.bar():绘制条形图。plt.hist():绘制直方图。plt.scatter():绘制散点图。plt.pie():绘制饼图。4.基本图表绘制折线图:示例代码:importmatplotlib.pyplotaspltx=[1,2,3,4,5]y=[2,3,5,7,11]plt.plot(x,y,marker='o',linestyle='-',color='b')plt.title('折线图示例')plt.xlabel('X轴')plt.ylabel('Y轴')plt.grid(True)plt.show()直方图:示例代码:importmatplotlib.pyplotaspltimportnumpyasnpdata=np.random.randn(1000)plt.hist(data,bins=30,edgecolor='black')plt.title('直方图示例')plt.xlabel('值')plt.ylabel('频数')plt.show()条形图:示例代码:importmatplotlib.pyplotaspltcategories=['A','B','C','D']values=[23,45,56,78]plt.bar(categories,values,color='g')plt.title('条形图示例')plt.xlabel('类别')plt.ylabel('数量')plt.show()饼图:示例代码:importmatplotlib.pyplotaspltlabels=['A','B','C','D']sizes=[23,45,56,78]plt.pie(sizes,labels=labels,autopct='%1.1f%%',startangle=140)plt.title('饼图示例')plt.show()散点图:示例代码:importmatplotlib.pyplotaspltimportnumpyasnpx=np.random.rand(50)y=np.random.rand(50)plt.scatter(x,y,color='r',marker='o')plt.title('散点图示例')plt.xlabel('X轴')plt.ylabel('Y轴')plt.show()5.数据处理与图表绘制使用Pandas读取数据:importpandasaspddata=pd.read_excel('grade.xlsx',skiprows=3,nrows=30)df=pd.DataFrame(data,columns=['平时','期中','实验','期末','总评'])绘制子图:示例代码:importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspd#读取数据data=pd.read_excel('grade.xlsx',skiprows=3,nrows=30)df=pd.DataFrame(data,columns=['平时','期中','实验','期末','总评'])x1=df['平时'].values.tolist()x2=df['期中'].values.tolist()x3=df['实验'].values.tolist()x4=df['期末'].values.tolist()x5=df['总评'].values.tolist()#计算总评成绩各档成绩的个数count={'0-60':0,'60-70':0,'70-80':0,'80-90':0,'90-100':0}fortinx5:ift<60:count['0-60']+=1elift<70:count['60-70']+=1elift<80:count['70-80']+=1elift<90:count['80-90']+=1else:count['90-100']+=1#生成2X2四个子图,在每个子图中分别绘制平时、期中、实验和期末成绩的直方图fig,ax=plt.subplots(2,2,sharex='all',sharey='all')ax[0,0].set_title('平时成绩')n,bins,patches=ax[0,0].hist(x1,36)ax[0,1].set_title('期中成绩')n,bins,patches=ax[0,1].hist(x2,36)ax[1,0].set_title('实验成绩')n,bins,patches=ax[1,0].hist(x3,36)ax[1,1].set_title('期末成绩')n,bins,patches=ax[1,1].hist(x4,36)#生成一个子图,在一个子图内绘制各成绩的分布散点图fig1,ax1=plt.subplots()ax1.set_title('成绩分布')y=np.arange(1,31)ax1.set_xlim(0,40)ax1.scatter(y,x1,color='green',marker='o',label='平时成绩')ax1.scatter(y,x2,color='yellow',marker='o',label='期中成绩')ax1.scatter(y,x3,color='blue',marker='o',label='实验成绩')ax1.scatter(y,x4,color='black',marker='o',label='期末成绩')ax1.grid(True)ax1.legend(loc=4)#生成一个子图,绘制期末成绩各成绩档的人数fig2,ax2=plt.subplots()ax2.set_title('期末成绩统计')ax2.set_ylim(0,15)x=list(count.keys())y=list(count.values())p=ax2.bar(x,y)ax2.bar_label(p,padding=5)plt.show()6.实践练习练习1:绘制一个本人本学期的各门课程成绩折线图。重点:使用plt.plot()绘制折线图。练习2:绘制一个月内消费支出的饼图。重点:使用plt.pie()绘制饼图。练习3:随机生成1000个0~50范围内的随机数,使用条形图绘制其频率分布。重点:使用plt.hist()绘制直方图。练习4:绘制一年每个月的用电量条形图。重点:使用plt.bar()绘制条形图。练习5:绘制最佳拟合线。重点:使用plt.scatter()绘制散点图,计算并绘制最佳拟合线。练习6:绘制子图

温馨提示

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

评论

0/150

提交评论