版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python数据可视化第3章Matplotlib图形类别教师:xxx2024.07第1节连续型数据可视化第3章Matplotlib图形类别第2节离散型数据可视化第3节比例数据可视化第4节关系数据可视化第1节连续型数据可视化折线图(LineChart,亦称曲线图)是将数据点用直线连接而成的图形。折线图可用于展示连续型数据变量间的关系,直观体现目标变量y随自变量x的变化趋势,从而发现数据之间的关联性。折线图的X轴通常是数量或时间,Y轴是数值,其基本框架如右图所示。一、折线图Matplotlib绘图程序头部几乎都需要引用下面的语句,为节省篇幅,后续代码段不再列出这些语句,默认下述语句已包含。importnumpyasnpimportmatplotlib.pyplotaspltplt.rcParams['font.family']='Simhei' #中文正常显示plt.rcParams['axes.unicode_minus']=False #负号正常显示第1节连续型数据可视化函数plt.plot()用于绘制折线图,常用参数如下表所示。一、折线图参数名描述参数名描述无形参名前两组数据对应x和y数据color颜色,简写为“c”linestyle线条类型,简写为“ls”linewidth线条粗细,简写为“lw”marker散点类型alpha透明度,取值0~1之间plot函数常用参数表plt.plot([1,2,3],[3,5,4],c='r',lw=2)#折线,默认不绘制点plt.plot(range(5),marker='o')#直线,marker散点类型'o'第1节连续型数据可视化如果想一次绘制多条线,可以用plot(x1,y1,x2,y2,x3,y3)的格式,系统自动为每条线设置不同颜色,也可自行指定颜色。颜色参数如下表所示,颜色用英文单词或缩写字母表示均可。一、折线图
color参数颜色缩写指代颜色颜色缩写指代颜色b蓝色m品红色g绿色y黄色r红色k黑色c青色w白色第1节连续型数据可视化线条的颜色、数据点形状和线型除了可用c、marker和ls这三个参数分别设置外,还可以将三个参数合并简写为一个格式字符串,如下图所示。一、折线图折线图格式字符串示例x=np.arange(15)plt.plot(x,x*2,'gD-',x,x*3,'ro:',x,x*4,'y^--')第1节连续型数据可视化下面用折线图展示两种商品的销售数量对比,代码如下。一、折线图plt.figure(figsize=(8,6))day=list(range(1,11))A=[314,359,205,1469,1829,1327,165,878,438,514]#A商品B=[963,1639,906,2027,3175,2485,4042,3501,3265,3200]#B商品plt.plot(day,A,'bD--',lw=2,label='A') #折线Aplt.plot(day,B,'gx:',lw=2,label='B')plt.legend(fontsize=16)plt.ylim(0,5000) #y轴数据范围#数据点上方添加销量,y+150调整标注位置,ha/va水平和垂直对齐forx,yinzip(day,A):plt.text(x,y+150,y,ha='center',va='bottom',fontsize=14,c='b')forx,yinzip(day,B):plt.text(x,y+150,y,ha='center',va='bottom',fontsize=14,c='g')plt.xlabel('日期',fontsize=16)plt.ylabel('数量',fontsize=16)plt.title("商品A/B十日销售数量对比图",fontsize=18);第1节连续型数据可视化阶梯图是折线图的y值持续保持在同一个值,直到发生变化跳跃到下一个值,其形状类似阶梯。plt.step()函数绘制阶梯图。二、阶梯图阶梯图的结构第1节连续型数据可视化二、阶梯图x=[1,2,3,4,5,6,7,8]y=[31882,31993,31691,31475,30828,30595,31500,30552]plt.step(x,y,where='pre')plt.xticks(x,['1月','2月','3月','4月','5月','6月','7月','8月'])plt.grid(axis='y',ls=':',alpha=0.6)plt.xlabel('月份(单位:月)')plt.ylabel('金额(单位:元)')plt.title('2020年1-8月广州房价变化阶梯图');第1节连续型数据可视化面积图亦称堆积折线图,是将折线图中折线与X轴之间的区域用颜色或纹理填充(填充区域的大小称为“面积”),填充后的关注焦点会聚焦于色块上。面积图一般是多组时序数据的叠加,强调数量随着时间而变化,引导人们关注总值的变化趋势。面积图上总的面积代表了所有数据的总和,各个层的面积表示各数据分量的和,这些堆叠起来的面积图在观察大数据的各个分量变化情况时格外有用。三、面积图堆叠面积图基本框架第1节连续型数据可视化三、面积图x=np.arange(1,6)y1=[20,36,40,22,20]y2=[60,85,70,65,62]y3=[40,55,60,45,30]labels=['A','B','C']#自定义颜色,颜色由十六进制RGB构成colors=['#ac8e00','#fc8d99','#abcd05']plt.stackplot(x,y1,y2,y3,labels=labels,colors=colors)#面积图plt.legend(fontsize=14)plt.title('面积图',fontsize=18)第2节离散型数据可视化一、散点图散点图,顾名思义就是由一些散乱的点构成的图形。散点图使用一系列的散点在平面直角坐标系中展示(x,y)变量的分布情况。在统计学的回归分析与预测中会频繁使用散点图。散点图基本框架plt.scatter()绘制散点图,格式为:plt.scatter(x,y,s=None,c=None,marker=None,cmap=None,edgecolors=None,**kwargs)第2节离散型数据可视化一、散点图fromsklearn.datasetsimportload_iris#鸢尾花数据集iris=load_iris()#实例化数据集mark=['^','*','H']#点的形状colors=['b','r','y']#点的颜色fork,vnameinenumerate(iris.target_names):plt.scatter(iris.data[k*50:(k+1)*50,0],iris.data[k*50:(k+1)*50,1],marker=mark[k],c=colors[k],s=30,label=vname)plt.xlabel("sepallength",fontsize=16)plt.ylabel("sepalwidth",fontsize=16)plt.title("sepallengthandwidthscatter",fontsize=18)plt.legend()第2节离散型数据可视化二、柱状图柱状图是以柱体高度或者长度的差异来反映数值变化的一种统计图表。柱状图的水平x轴可以是类别型、序数型或数值型,数值y轴映射柱体的高度。函数plt.bar(x,height,width=0.8,bottom=None,align='center',*kwargs)用于绘制柱状图。柱状图基本框架第2节离散型数据可视化二、柱状图np.random.seed(7)sno=np.arange(1,11)#学号score=np.random.randint(55,100,10)#成绩plt.ylim(0,105)plt.bar(sno,score,width=0.5,tick_label=sno)#柱状图forx,yinzip(sno,score):
#标注数字plt.text(x,y+2,y,ha='center',va='bottom',fontsize=14)plt.xlabel('学号',fontsize=16)plt.ylabel('成绩',fontsize=16);第2节离散型数据可视化三、堆积柱状图堆积柱状图是将同一类别的若干柱体上下堆积而成的。前面介绍的簇状柱形图是将同一类的柱体并列放置,堆积柱状图则将柱体上下堆叠。堆叠后即可对比单个数据,又可对比每个类别的总和数据。示例参见代码文件"03.ipynb"。堆积柱状图框架第3节比例数据可视化一、饼图比例数据是日常生活中常见的一类数据。例如,选民的性别比例、地区比例和教育程度比例等。在比例数据中,我们关注各部分的占比,占比总和应为100%。饼图适合表现比例、份额类的数据,清晰地呈现了各子类的占比情况。饼图的基本框架如右图所示,圆饼代表整体,每个扇形代表整体的一部分。饼图不适合做数据的精确对比,因为对人眼来说,占比20%和25%的扇形区分度并不大。分类过多的数据也不适合使用饼图,类别应控制在10个以内。plt.pie()用于绘制饼图。饼图基本框架第3节比例数据可视化一、饼图x=[10,5,20,10,25,15]labels='波斯猫','加菲猫','短毛猫','狸花猫','孟加拉猫','其它'plt.pie(x,labels=labels,autopct='%.1f%%',textprops={'fontsize':12})#'%.1f%%'显示百分比plt.legend(bbox_to_anchor=(1.05,1))第3节比例数据可视化二、分裂式饼图饼图每个扇形的尖端和圆心是重合的,如果想重点突出某一个扇形,可设置参数explode来实现。例如设置explode=(0,0.2,0,0,0,0)将第2个扇形突出了0.2的位置。突出的饼图x=[10,5,20,10,25,15]labels='波斯猫','加菲猫','短毛猫','狸花猫','孟加拉猫','其它'explode=(0,0.2,0,0,0,0) #第2个扇形突出0.2patch,txt,pct=plt.pie(x,labels=labels,autopct='%.1f%%',explode=explode,textprops={'fontsize':12})forpinpatch: #patch是pie()命令返回的扇形组列表p.set_alpha(0.6)#设置每个扇形的透明度plt.legend(bbox_to_anchor=(1,1)) #右图第3节比例数据可视化三、环形图环形图可视为饼图的变形。环形图看起来像一个面包圈,外围不同颜色的弧形长度反映数值的差异,而饼图则是通过扇形角度反映类别的占比。饼图强调整体性,一般只绘制单个饼图,只反映按一个指标分类的占比。而环形图可以叠加,同时反映多种分类情况的对比。环形图框架第3节比例数据可视化三、环形图两种绘制方式:#方式1:两个同心圆堆叠(视觉错觉)plt.pie([1,2,3])
#大圆,默认半径为1plt.pie([1,2,3],colors='w',radius=0.6)
#小圆、白色、半径0.6#方式2:wedgeprops参数设置环的宽度为0.4plt.pie([1,2,3],wedgeprops=dict(width=0.4))第4节关系数据可视化统计学要探寻数据与数据之间的关系,关系就是关联性,即通常所谓的正相关、负相关或者不相关。为便于判断数据间的关系,我们可以将数据绘制为各种统计图表。图形能直观地反映出影响因素和预测对象之间的总体关系趋势。观察散点图上数据点的分布情况,可以推断变量间的相关性。第4节关系数据可视化一、气泡图气泡图的基本框架如右图所示。气泡图类似散点图,但会将散点设置为不同的大小。气泡的大小是有意义的,这样除了横轴和纵轴,气泡大小可以反映第三个变量的变化,相当于以二维方式绘制了三维变量的图表。如果再辅以不同的颜色,则气泡图可以反映四维变量的情况。气泡图基本框架第4节关系数据可视化一、气泡图production=[1125,1725,2250,2875,2900,3750,4125]#产量tem=[6,8,10,13,14,16,21]#温度x轴rain=[25,40,58,68,110,98,120]#降雨量y轴plt.scatter(tem,rain,s=production,c=range(7),alpha=0.6)#设置size,气泡图plt.axis([0,30,0,150])#设置x、y轴坐标范围plt.xlabel('温度',fontsize=16)plt.ylabel('降雨量',fontsize=16)plt.title('温度-降雨量对水稻产量的影响',fontsize=18);第4节关系数据可视化二、直方图直方图(Histogram,亦称质量分布图)是一种统计图表,由一系列高度不等的柱体表示数据的分布情况,基本框架如图所示。一般横轴表示数据区间段,纵轴表示柱体对应区间段所含的数据频次。构建直方图时需将数据合理分段,统计每个数据段内含有数据的个数,数据频次即柱体的高度。合理分段是构建直方图的关键,每个区间段应是相邻的,并且通常是等距的。直方图基本框架第4节关系数据可视化二、直方图np.random.seed(0)mu,sigma=100,20#均值和标准差#获取正态分布N(100,400)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Photoshop期末考试试题及详细答案
- (2026)国家事业单位政治理论知识答题题库及答案
- 矿石筛分清洗操作工规程
- 2026年砌筑工(高级)考试真题及答案
- 2026安全培训考试题及答案
- 输尿管支架相关不适综合干预共识
- PCB设计面试题+威海科目一试题(含详细答案)
- 肿瘤脊髓压迫大小便功能重建方案共识
- 2026年高级项目管理师考试例题理论模拟题及答案
- 2026年急救护士招聘面试题库及参考答案
- 小微企业员工手册标准模板
- 2025年防灾减灾行业智能防灾减灾技术应用研究报告及未来发展趋势预测
- 全国大学生职业规划大赛《法学》专业生涯发展展示【获省级一等奖】
- 2024年10月高等教育自学考试《08119管理会计》试卷附参考答案
- 《人工智能基础与应用(微课版)》课件 第二章 机器学习基础
- 2025年宝武作业长培训考试题库
- 内勤人员管理办法
- 学堂在线 中医养生方法学 章节测试答案
- 小学课程与教学论课件 第四章 小学课程与教学的内容和选择
- 银行网点保洁服务流程与标准
- 蜜雪冰城加盟协议合同
评论
0/150
提交评论