Python学习资料:使用Matplotlib搞定3D绘图.doc

上传人:scccc 文档编号:12517210 上传时间:2021-12-04 格式:DOC 页数:14 大小:718.50KB
返回 下载 相关 举报
Python学习资料:使用Matplotlib搞定3D绘图.doc_第1页
第1页 / 共14页
Python学习资料:使用Matplotlib搞定3D绘图.doc_第2页
第2页 / 共14页
Python学习资料:使用Matplotlib搞定3D绘图.doc_第3页
第3页 / 共14页
Python学习资料:使用Matplotlib搞定3D绘图.doc_第4页
第4页 / 共14页
Python学习资料:使用Matplotlib搞定3D绘图.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《Python学习资料:使用Matplotlib搞定3D绘图.doc》由会员分享,可在线阅读,更多相关《Python学习资料:使用Matplotlib搞定3D绘图.doc(14页珍藏版)》请在三一文库上搜索。

1、数据可视化一直是机器学习的重要部分,大多数数据可视化教程的基本内容包 括:散点图,线图,箱形图,条形图和热图,虽然这些对于数据预处理来说基本 够用,但是今天给大家分享另一种数据可视化图形一一3D可视化。3D图可以 让我们更加直观的了解数据之间的关系:x - y , x - z和y - z。在本文中,我将简单介绍使用Matplotlib 进行3D数据可视化。3D散点图和线图matplotlib 中提供3D画图库为mplot3d,在使用时,我们通过一个关键字projection="3d"即可创建3D坐标轴。具体代码如下:from mpl_toolkits import mplo

2、t3dimport nu mpy as npimport matplotlib.pyplot as pltfig = plt.figure ()ax = plt.axes ( projecti on =“ 3d ”)plt.show () 创建3D坐标轴结果如下:现在我们的轴已经创建好了,我们可以开始绘制3D o 3D绘图库的用法与2D绘 图基本一样。我们定义好x、y与z轴之间的数据关系即可,具体使用查看下边 示例:fig = plt.figure ()ax = plt.axes ( projecti on =“ 3d ”)z_line = np.linspace ( 0,15,1000)x_

3、li ne = n p.cos( zine)y_line = np.sin(zine)ax.plot3D ( x_line,y_line,z_line,'gray')您懑邑上海云登校区z_points = 15 * np.random.random(100 )x_points = np.cos(z_points ) + 0.1 * np.random.randn(100 )y_points = np.sin(z_points ) + 0.1 * np.random.randn(100 )ax.scatter3D (x_points , y_points , z_points ,

4、 c = z_points , cmap ='hsv');plt.show ()绘图结果为:14121086420在绘制3D图形后,我们可以交互的查看图形。只需要简单点击并拖动绘图结果 即可。上海云査校区1-1.0一 650.0-0.53D曲面图曲面图可以很好地提供了一个完整的结构来查看每个变量的值如何在另外两个轴的轴上变化。在Matplotlib中构建表面图是一个3个步骤的过程。上海云宜校区一、 我们需要生成构成曲面图的实际点。注意生成3D曲面的所有点是不可能的, 因为它们有无限个!因此我们将生成能够表示曲面的部分点,然后再估计其余的 点。fig = plt.figure (

5、)ax = plt.axes(projection =“ 3d ” )def z_function( x,y)return n p.si n(n p.sqrt(x * 2 + y * 2)x = n p.li nspace(-6,6,30)y = n p.li nspace(-6,6,30)X,Y = np.meshgrid(x ,y)Z = z_fun ctio n(X ,Y)二、绘制线框,通过我们刚生成的点及关系式来绘制曲面图fig = plt.figure()ax = plt.axes(projection =“ 3d ” )ax.plot_wireframe(X,Y,Z,color =

6、'gree n')ax.set_xlabel('X')I:海云柱校区0246602466ax.set_ylabel('y') ax.set_zlabel('Z') plt.show()绘制结果为024660246602466XX 9上海云登校区最后,我们将曲面投影到线框估计上,并估计出其余的点。ax = plt.axes(project ion ='3d')ax.plot_surface(X ,Y,Z,rstride = 1,cstride = 1cmap ='w in ter',edgecolor

7、 ='non e')ax.set_title('曲面')上海云査校区surface0.750.500.250.00 -0.25-0.50 -0.75surface0.750.500.003D条形图上海云柱校区条形图是数据可视化中常用的一类图形,其能够以简单直观的方式反映出数据信 息。3D条形图的美妙之处在于它们保持了 2D条形图的简单性,同时扩展了它 们表示比较信息的能力。绘制条形图需要两个东西:位置和大小。在3D条形图中,我们将选择z轴来表示高度;因此,每个条形将从z = 0开始,其大小与 我们试图可视化的值成比例。x和y位置将表示横跨2D平面z = 0的条形

8、坐标。 我们将每个条形截面积都设置为1,使所有条形都具有相同的形状。下面为示例 代码:fig = plt.figure ()ax = plt.axes ( projecti on=“3d”)nu m_bars = 15x_pos =:ran dom.sample(xrange(20),y_pos=:ran dom.sample(xrange(20),z_pos =:0 * nu m_barsx_size :=np.ones ( num_bars )y_size :=np.ones ( num_bars )z_size :=ran dom.sample(xrange(20),nu m_bars )nu m_bars )num_bars )ax.bar3d (x_pos,y_pos,z_pos,x_size,y_size,z_size,color ='aqua' )plt.show ()可视化结果为I:海云登校区4”瞽x17.515.012.510.07.55.02.50.017.515.012.520.07.5 5.0 2.5 0.0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1