用Matplotlib如何绘制3D图形


本文摘自php中文网,作者爱喝马黛茶的安东尼,侵删。

Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。

在上篇中讲述的是如何对图形颜色和线条的填充,而今天给大家带来的是用matplotlib制作3D图形。之前尝试了多种2D图形,相信大家一定对3D图形充满兴趣。

Matplotlib 已经内置了三维图形,所以我们不需要再下载任何东西。 首先,我们需要引入一些完整的模块:

1

2

from mpl_toolkits.mplot3d import axes3d

import matplotlib.pyplot as plt

使用axes3d是因为它需要不同种类的轴域,以便在三维中实际绘制一些东西。 下面:

1

2

fig = plt.figure()

ax1 = fig.add_subplot(111, projection='3d')

在这里,我们像通常一样定义图形,然后我们将ax1定义为通常的子图,只是这次使用 3D 投影。 我们需要这样做,以便提醒 Matplotlib 我们要提供三维数据。

现在让我们创建一些 3D 数据:

1

2

3

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,3,2,7,3,3,7,2]

接下来,我们绘制它。 首先,让我们展示一个简单的线框示例:

1

ax1.plot_wireframe(x,y,z)

最后:

1

2

3

4

ax1.set_xlabel('x axis')

ax1.set_ylabel('y axis')

ax1.set_zlabel('z axis')

plt.show()

我们完整的代码是:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

from mpl_toolkits.mplot3d import axes3d

import matplotlib.pyplot as plt

from matplotlib import style

style.use('fivethirtyeight')

fig = plt.figure()

ax1 = fig.add_subplot(111, projection='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,3,2,7,3,3,7,2]

ax1.plot_wireframe(x,y,z)

ax1.set_xlabel('x axis')

ax1.set_ylabel('y axis')

ax1.set_zlabel('z axis')

plt.show()

结果为(包括所用的样式):

总结

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

以上就是用Matplotlib如何绘制3D图形的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python线程下条件变量的用法

Python shell是什么

Python中randint函数的用法是什么?

Python类怎么定义全局变量

Python破解字符串找茬游戏实现方法

Python的序列化和反序列化模块的简单介绍(实例代码)

为什么黑客都用Python

Python换行符怎么用?

高中要上Python

Python变量类型-如何给单个或者多个变量进行赋值(实例解析)

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...