欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (1.41)--5-3-1三维数据可视化.ppt

    • 资源ID:96451911       资源大小:28.82MB        全文页数:20页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (1.41)--5-3-1三维数据可视化.ppt

    第5章 数据可视化-Matplotlib第6讲 三维图形可视化1Contents目录02三维散点图三维散点图03三维线图三维线图04三维线框图三维线框图05三维柱状图三维柱状图013D3D可视化绘图基础可视化绘图基础mpl_toolkits.mplot3d是是matplotlib库库中中专专门门用用来来绘绘制制三三维维图图形形的的工工具具包包,虽虽然然目目前前mplot3d也也不不是是最最好好的的3D图图形形绘绘制制包包,但但它它是是随随着着matplotlib产产生生的的,使使用用mplot3d提提供供的的类类和和接接口口,能能够够让让我我们们熟熟悉悉3D图图形形绘绘制制的的一一般般流流程程和和方方法。法。mplot3d模块下主要包含模块下主要包含4个大类,分别是个大类,分别是axes3d、axis3d、art3d和和proj3d。axes3d类中主要包含了实现绘图的各种类和方法;类中主要包含了实现绘图的各种类和方法;axis3d主要包含了和坐主要包含了和坐标轴相关的类和方法;标轴相关的类和方法;art3d主要包含了一些可将主要包含了一些可将2D图形转换并用于图形转换并用于 3D绘绘制的类和方法;制的类和方法;proj3d中则主要包含一些其他的类和方法,如计算三维向中则主要包含一些其他的类和方法,如计算三维向量长度等。量长度等。3D可视化绘图基础绘图步骤:绘图步骤:a)导入库导入库from mpl_toolkits.mplot3d.axes3d import Axes3Dfrom mpl_toolkits.mplot3d import Axes3Db)数据的生成或获取数据的生成或获取c)创建创建3D图形对象图形对象 创建创建Axes3D对象的方式一般有两种,如下:对象的方式一般有两种,如下:fig=plt.figure()ax=p3d.Axes3D(fig)或者或者 fig=plt.figure()ax=fig.add_subplot(111,projection=3d)d)设置绘图方法参数并进行绘图设置绘图方法参数并进行绘图3D可视化绘图基础 除除少少数数绘绘图图方方法法外外,3D绘绘图图的的函函数数几几乎乎与与2D相相同同。当当然然,3D绘绘图图函函数数的的参参数数是是与与2D不不同同的的,需需要要为为3个个坐坐标标轴轴提提供供数数据据。例例如如,在在绘绘制制线线形形图图时时,我我们们可可以以使使用用函函数数mpl_toolkits.mplot3d.Axes3D.plot(),但但要要为为其其指指定定xs、ys、zs和和zdir参数,对这些参数的含义解释如下。参数,对这些参数的含义解释如下。1)xs和和ys:x轴和轴和y轴的坐标。轴的坐标。2)zs:z轴的坐标值,可以是所有点对应一个值,也可以是每个点对应一个值。轴的坐标值,可以是所有点对应一个值,也可以是每个点对应一个值。3)zdir:决定哪个坐标轴为:决定哪个坐标轴为z轴的方向。通常是轴的方向。通常是zs,但也可以是,但也可以是xs或或ys。3D可视化绘图基础02三维散点图3D散散点点图图的的绘绘制制,可可以以使使用用Axes3D对对象象的的scatter()或或scatter3D()函函数数,其其函数原型及参数含义如下。函数原型及参数含义如下。scatter(xs,ys,zs,zdir,s,c,depthshade,*args,*kwargs)s:即:即size,表示散点的大小,默认值为,表示散点的大小,默认值为20;c:即:即color,表示绘图的颜色映射,默认为,表示绘图的颜色映射,默认为None;depthshade:决定是否为散点的标记加阴影,默认为:决定是否为散点的标记加阴影,默认为True。图图5.30三维散点图三维散点图3D散点图import numpy as npfrom mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as plt#生成一组生成一组3D正态分布的数据,采样点个数为正态分布的数据,采样点个数为500count=500dim=3samples=np.random.multivariate_normal(np.zeros(dim),np.eye(dim),count)#计算每个样本到原点的距离计算每个样本到原点的距离(范数范数),并与均匀分布运算吻合,并与均匀分布运算吻合#从而得到球体内均匀分布的样本从而得到球体内均匀分布的样本for i in range(samples.shape0):r=np.power(np.random.random(),1.0/3.0)#开三次方开三次方 Frobenius=np.linalg.norm(samplesi)#计算范数计算范数 samplesi*=r/Frobenius#吻合运算吻合运算upper_samples=#分类初始化分类初始化lower_samples=3D可视化绘图基础for x,y,z in samples:#3x+2y-z=1作为判别平面作为判别平面 if z3*x+2*y-1:upper_samples.append(x,y,z)else:lower_samples.append(x,y,z)fig=plt.figure(3D scatter plot)ax=Axes3D(fig)#创建创建3D坐标系对象坐标系对象uppers=np.array(upper_samples)lowers=np.array(lower_samples)#用不同颜色不同形状的图标表示平面上下的样本用不同颜色不同形状的图标表示平面上下的样本#判别平面上半部分为红色圆点,下半部分为绿色星号判别平面上半部分为红色圆点,下半部分为绿色星号ax.scatter(uppers:,0,uppers:,1,uppers:,2,c=r,marker=o)ax.scatter(lowers:,0,lowers:,1,lowers:,2,c=g,marker=*)plt.show()3D可视化绘图基础033D线形图3D线线形形图图的的绘绘制制,可可以以使使用用Axes3D对对象象的的plot()或或plot3D()函函数数,其其函函数数原型为:原型为:plot(xs,ys,*args,*kwargs),其参数含义同上。,其参数含义同上。图图5.31三维线形图三维线形图import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D#生成数据生成数据X=np.linspace(-6*np.pi,6*np.pi,1000)Y=np.sin(X)Z=np.cos(X)fig=plt.figure()#创建画布创建画布ax=Axes3D(fig)#创建创建3D坐标轴坐标轴ax.plot(X,Y,Z)#绘制线型图绘制线型图plt.show()3D线形图043D线框图3D线线框框图图的的绘绘制制,可可以以使使用用Axes3D对对象象的的plot_wireframe()函函数数,其其函函数数原型为:原型为:plot_wireframe(X,Y,Z,*args,*kwargs)其中常用的参数含义如下:其中常用的参数含义如下:X,Y,Z:三维坐标点;:三维坐标点;rcount,ccount:采样点数,默认为:采样点数,默认为50;rstride,cstride:采样步长,越小采样数越多:采样步长,越小采样数越多图图5.32 三维线框图三维线框图3D线框图import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3DX=np.arange(-4,4,0.05)#创建数据列表创建数据列表 Y=np.arange(-4,4,0.05)#通过复制向量通过复制向量X、Y的方式,创建对应的稀疏矩阵的方式,创建对应的稀疏矩阵X,Y=np.meshgrid(X,Y,sparse=True)Z=np.sin(X*2+Y*2)/(X*2+Y*2)fig=plt.figure(figsize=(8,6)ax=Axes3D(fig)#创建创建Axes3D对象对象ax.plot_wireframe(X,Y,Z,rstride=4,cstride=4,color=gold)ax.set_zlim(-2,2)plt.show()3D线框图053D柱状图3D柱柱状状图图的的绘绘制制,可可以以使使用用Axes3D对对象象的的bar()或或bar3D()函数,函数的原型如下:函数,函数的原型如下:bar(left,height,zs=0,zdir=z,*args,*kwargs)或或bar3d(x,y,z,dx,dy,dz,color=None,zsort=average,shade=True,*args,*kwargs)其主要参数的含义如下:其主要参数的含义如下:left:x轴上的水平坐标;轴上的水平坐标;height:y轴上的柱子高度;轴上的柱子高度;zs:柱柱子子的的z坐坐标标,若若指指定定一一个个标标量量值值,则所有柱子在同样的则所有柱子在同样的z位置位置;x,y,z:柱子锚点的坐标;:柱子锚点的坐标;dx,dy,dz:分分别别指指柱柱子子的的宽宽度度、深深度度和和高高度,即度,即x,y,z的大小;的大小;图图5.33 三维柱状图三维柱状图3D柱状图import numpy as npimport matplotlib as mplimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dmpl.rcParamsfont.size=10#指定绘图字体的大小指定绘图字体的大小fig=plt.figure()ax=Axes3D(fig)#创建创建3D图形对象图形对象zs=2015,2016,2017,2018for z in zs:#生成数据并绘制生成数据并绘制3D图图 xs=np.arange(1,13)ys=1000*np.random.rand(12)color=plt.cm.Set2(np.random.choice(np.arange(plt.cm.Set2.N)ax.bar(xs,ys,zs=z,zdir=y,color=color,alpha=0.8)3D柱状图#设置设置x轴和轴和y轴的坐标刻度轴的坐标刻度ax.xaxis.set_major_locator(mpl.ticker.FixedLocator(xs)ax.yaxis.set_major_locator(mpl.ticker.FixedLocator(ys)ax.set_xlabel(Month)ax.set_ylabel(Year)3D柱状图小结小结1、掌握基本的、掌握基本的3D数据绘图步骤。数据绘图步骤。2、掌掌握握3D散散点点图图、线线图图、线线框框图图和和3D柱柱状状图图的的基基本本绘图方法及应用场景。绘图方法及应用场景。谢谢大家

    注意事项

    本文((1.41)--5-3-1三维数据可视化.ppt)为本站会员(奉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开