python中Matplotlib实现绘制3D图方法介绍


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

# 载入模块

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

 

# 创建 3D 图形对象

fig = plt.figure()

ax = Axes3D(fig)

 

# 生成数据

X = np.arange(-2, 2, 0.1)

Y = np.arange(-2, 2, 0.1)

X, Y = np.meshgrid(X, Y)

Z = np.sqrt(X ** 2 + Y ** 2)

 

# 绘制曲面图,并使用 cmap 着色

ax.plot_surface(X, Y, Z, cmap=plt.cm.winter)

 

plt.show()

cmap=plt.cm.winter 表示采用了 winter 配色方案,也就是下图的渐变色。

混合图绘制

混合图就是将两种不同类型的图绘制在一张图里。绘制混合图一般有前提条件,那就是两种不同类型图的范围大致相同,否则将会出现严重的比例不协调,而使得混合图失去意义。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

# -*- coding: utf-8 -*

# 载入模块

from mpl_toolkits.mplot3d import Axes3D

import numpy as np

import matplotlib.pyplot as plt

 

# 创建 3D 图形对象

fig = plt.figure()

ax = Axes3D(fig)

 

# 生成数据并绘制图 1

x1 = np.linspace(-3 * np.pi, 3 * np.pi, 500)

y1 = np.sin(x1)

ax.plot(x1, y1, zs=0, c='red')

 

# 生成数据并绘制图 2

x2 = np.random.normal(0, 1, 100)

y2 = np.random.normal(0, 1, 100)

z2 = np.random.normal(0, 1, 100)

ax.scatter(x2, y2, z2)

 

# 显示图

plt.show()

子图绘制


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

# -*- coding: utf-8 -*

# 载入模块

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np

 

# 创建 1 张画布

fig = plt.figure()

 

#===============

 

# 向画布添加子图 1

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

 

# 生成子图 1 数据

x = np.linspace(-6 * np.pi, 6 * np.pi, 1000)

y = np.sin(x)

z = np.cos(x)

 

# 绘制第 1 张图

ax1.plot(x, y, z)

 

#===============

 

# 向画布添加子图 2

ax2 = fig.add_subplot(1, 2, 2, projection='3d')

 

# 生成子图 2 数据

X = np.arange(-2, 2, 0.1)

Y = np.arange(-2, 2, 0.1)

X, Y = np.meshgrid(X, Y)

Z = np.sqrt(X ** 2 + Y ** 2)

 

# 绘制第 2 张图

ax2.plot_surface(X, Y, Z, cmap=plt.cm.winter)

 

# 显示图

plt.show()

我们可以来看一下这些代码。由于两张子图是绘制在 1 张画布上面的,所以这里需要提前创建 1 张画布。然后通过.add_subplot()添加子图,子图序号和二维绘图相似,只是注意 3D 绘图时要添加projection='3d'参数。

以上就是python中Matplotlib实现绘制3D图方法介绍的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Python编程时如何添加中文注释

Python函数中如何返回多个值?(代码示例)

Python自带ide在哪里

Python print用法详解

Python计算平方根

Python字典的用法详解(附示例)

Python 怎么向字符串中添加元素

scrapy实现新浪微博爬虫

如何用Python求第三条边边长

Python网络编程哪个模块最好?举例Python模块详解

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




打赏

取消

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

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

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

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

评论

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