python数据可视化3d柱状图,python数据可视化创建柱状图

matplotlib主要集中在绘制上,主要是二维图形,但是为了能够在地理图上绘制,结合Excel和3D的图表,有几个不同的扩展。 在matplotlib世界中,这些扩展称为工具包( toolkits )。 工具包是关注某个主题的特定函数的集合,例如3D图。

常见的工具包包括基础地图、GTK工具、Excel工具、NAT网格、axes网格和mplot3d。

本节介绍mplot3d的更多功能。 mpl_toolkits.mplot3工具包具有基本的三维制图功能,如散点图( scatter )、曲面图( surf )、线条和网格图( mesh )。 mplot3D不是最好的3d图形绘制库,但它是与matplotlib一起生成的,因此熟悉界面。

准备工作基本上需要制作图表并添加所需的坐标轴。 但是,您为图表指定了3D视图,添加的坐标轴为Axes3D。

现在,您可以使用几乎相同的函数绘图。 当然,函数的参数不同,需要为三个坐标轴提供数据。

例如,为函数mpl _ toolkits.MP lot 3d.axes 3d.plot指定xs、ys、zs和zdir参数。 其他参数直接传递给matplotlib.axes.Axes.plot。 对这些特定参数进行说明。

1.xs和ys:x轴和y轴的坐标。

2.zs :这是z轴的坐标值,可以使一个值与所有点对应,或者使一个值与每个点对应。

3.zdir :确定哪个坐标轴为z轴的维度(通常为zs,但也可以是xs或ys )。

提示:模块mpl_toolkits.mplot3D.art3d包含用于将3D artist代码和2D artists转换为3d版本的函数。 此模块包含rotate_axes方法。 将此方法添加到Axes3D以重新排列坐标,使坐标轴随zdir一起旋转。 zdir的默认值为z。 如果在坐标轴前加上` `-` `,则会进行反转变换。 然后,zdir的值为x、-x、y、-y、z或-z。

操作步骤的代码显示了所描述的概念。

importrandomimportnumpyasnpimportmatplotlibasmplimportmatplotlib.pyplotaspltimportmatplotlib.datesasmdatesfrommpl _ tool kkketoool ‘ ]=10 fig=PLT.figure ( ax=fig.add _ subplot ) 111, projection=’3d ‘ ) fojection ) ) 3d ) ) forams 13 ) ys=1000* NP.random.rand(12 ) color=PLT.cm.set2) random.choice ( xrange ( PLT.cm.set2. n ) ) ) ax.range ( PLT.PLT ) cator ) xs ) ax.yaxis.set _ major _ locator ax.set _ ylabel ( year ) ) ax.set_zlabel ) salesnet[USD] ) ) PLT

图5-1

机制需要像2D世界一样做好同样的准备。 不同之处在于,您必须在此指定后端类型。 然后,生成了4年的销售额( 2011-2014 )等随机数据。

必须为3D坐标轴指定相同的z值。

从颜色贴图集合中随机选择一种颜色,并将其与每个Z-order集合的xs、ys对相关联。 最后,利用xs,ys对渲染柱状条纹序列。

补充说明此处也可以使用其他一些matplotlib二维出图函数。 例如,scatter ( ) (和plot ) )具有相似的接口,但添加了点标记大小的参数。 我们对contour、contourf、bar也很了解。

仅在3D中出现的新图表类型有线框图( wireframe )、曲面图)、三翼平面图( tri-surface )。

下面的代码示例绘制了有名的Pringle函数的三翼平面图。 数学的专业称呼是双曲面抛物线。

from mpl _ toolkits.MP lot3dimportaxes3dfrommatplotplibimportcmimportmatplotlib.pyplotaspltimportnumpyasnpn _ angles=36n ngles doesnotincluderadiusr=0,thisistoeliminateduplicatepointsradii=NP.linspace ( 0.125,1.0,n _ radii ) endpoint=false ( # repeatallanglesforeachradiusangles=NP.repeat ( angles [ .np.newaxis],n_radii,axis=1) angles ) coordstocartesian(x,y ) coords # ( 0,0 ) isaddedhere.therearenoduplicatepointsinthe ) x, y ) planex=NP.aan ex ( radii * NP.cos ( angles ) ).flatten ) ) y=np.append(0) 0,( radii*NP.sin(Angles )

图5-2

这篇文章是从《Python数据可视化编程实战》的内容概要中摘录的。 本书是使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最受欢迎的库,通过60多种方法创建美丽的数据可视化效果。

第八章包括准备工作环境、理解数据、创建和定制图表、学习更多图表和定制、创建3D可视化图表、使用图像和地图创建图表、使用正确的图表理解数据以及更多的matplotlib知识

本书面向具有Python编程基础的开发人员,帮助读者从一开始就了解数据、数据格式和数据可视化,并学会使用Python可视化数据。

剪辑交流

从“北京最早”到“亚洲最大”,北京丰台站已经转型。

2022-10-19 20:11:50

剪辑交流

台积电1nm以下制程取得重大突破,台积电最先进制程

2022-10-19 20:13:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索