首页 > 编程知识 正文

matplotlib画直线,使用matplotlib

时间:2023-05-05 19:24:43 阅读:137483 作者:657

基本3D图的绘制

Matplotlib已经内置了三维图形,引入这些完整的模块就可以了。

在from mpl _ toolkits.MP lot3dimportaxes3dimportmatplotlib.pyplotasplt中使用axes3d是因为需要不同类型的轴域才能在三维中实际绘制东西。 以下:

fig=PLT.figure (ax1=fig.add _ subplot ) 111,projection='3D ' )此处像往常一样定义图元,然后将ax1定义为常规子图。 这次使用3d投影。 这样,需要提醒Matplotlib提供三维数据。

那么,制作3D数据吧。

x=[ 1,2,3,4,5,6,7,8,9,10 ] y=[ 5,6,7,8,2,5,6,3,7,2 ] z=[ 1,2,6,7,3 ]

ax1.plot_wireframe(x,y,z )最后:

ax1.set_xlabel(xaxis ) ) ax1.set_xlabel(xaxis ) ) ax1.set_xlabel(xaxis ) ) plt.show )我们的完整代码是

from mpl _ toolkits.MP lot3dimportaxes3dimportmatplotlib.pyplotaspltfrommatplotlibimportstyle.use (fivethirtyeight ax1=ax1 ) projection='3d ' ) x=[ 1,2,3,4,5,6,7,8,9,10 ] y=[ 5,6,7,8,8 ] z ) ax1.set_xlabel(xaxis )

这些3D图形可以交互。 首先,您可以使用鼠标左键单击并拖动来移动图形。 也可以右键单击并拖动鼠标以放大或缩小。

3D散点图的绘图创建3D散点图,与普通散点图和3D线框图非常相似。

简单的例子:

from mpl _ toolkits.MP lot3dimportaxes3dimportmatplotlib.pyplotaspltfrommatplotlibimportstyle.use (gg plot ' ) fig ax1=fig projection='3d ' ) x=[ 1,2,3,4,5,6,7,8,8,8 ]-9,- 10 ] y2=[-5,-6,- 6,10 ] 2] marker='o ' ) ax1.set_xlabel(xaxis ) (ax1.set_ylabel ) yaxis ) (ax1.set_zlabel ) zaxis ) PLT.SST

请记住,像常规散点图一样,可以更改这些图的大小和标记。

绘制3D条形图是本Matplotlib教程中介绍的3D条形图。 3D条形图非常独特,因为它可以绘制三个或更多的维。 不,不能绘制超过第三个维度,但可以绘制超过三个维度。

对于条形图,它必须具有条形的起点、条形的高度和宽度。 但是,3D条形图还有另一个选项:条形深度。 在大多数情况下,条形图从轴上的条形平面开始,但也可以通过破坏此约束添加其他维。 但是,我们会让它非常简单:

from mpl _ toolkits.MP lot3dimportaxes3dimportmatplotlib.pyplotaspltimportnumpyasnfrommatplotlibimportstyle.use ' fig=projection='3d ' ) x3=[ 1,2,3,4,5,6,7,8,9,10 ]2) Z3=NP.Zeros(10 ) dx=NP.ones (10 ) dy=NP 10]ax1.bb dz ) ax1.set_xlabel(xaxis ) (ax1.set_ylabel ) yaxis ) (ax1.set_zlabel ) zaxis ) ) plt.show )

欢迎使用最后的Matplotlib教程。 这里整理了整个系列,给出了稍微复杂的3D线框图。

from mpl _ toolkits.MP lot3dimportaxes3dimportmatplotlib.pyplotaspltimportnumpyasnfrommatplotlibimportstyle.use ' fig=projection='3d ' ) x,y,z=axes3d.get_test_data ) ) pata rstride=3,cstride=3) ax1.set _ xlabel

如果您从一开始就关注本教程,那么您已经掌握了Matplotlib提供的大部分内容。 你可能不相信,Matplotlib还能做很多其他的事情! 请继续学习。 您可以随时访问Matplotlib.org查看示例和图片库页面。

注:空间曲面的画法

#二次抛物面z=x ^ 2y ^ 2x=NP.linspace (-10,10,101 ) y=xx,y=NP.meshgrid(x,y ) z=x * * 2y * * 2ax=plot .

#半径为1的球t=NP.linspace(0,NP.pi * 2,100 ) s=np.linspace(0) 0,NP.pi,100 ) t,s=np.meshgrid(t ) t

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。