欢迎访问宙启技术站
智能推送

Python中使用Axes3D()绘制3D气泡图

发布时间:2023-12-26 03:08:06

在Python中,可以使用matplotlib库的Axes3D子模块来绘制3D气泡图。气泡图是一种数据可视化图表,它通过在三维空间中展示不同大小和颜色的气泡来展示多个变量之间的关系。

下面是一个使用Axes3D绘制3D气泡图的例子:

首先,需要导入所需的库:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

接下来,需要创建一些随机数据来绘制气泡图。这里,我们使用numpy库生成100个随机数作为x、y和z坐标,并生成随机数作为气泡的大小和颜色:

np.random.seed(123)
n = 100
x = np.random.rand(n)
y = np.random.rand(n)
z = np.random.rand(n)
size = np.random.rand(n) * 100
color = np.random.rand(n)

然后,创建一个matplotlib的figure和axes对象,并使用projection='3d'参数创建一个3D图像:

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

接下来,使用scatter()函数将气泡图绘制到axes对象上。其中,x、y、z是气泡的坐标,s是气泡的大小,c是气泡的颜色:

ax.scatter(x, y, z, s=size, c=color)

最后,通过调用show()函数显示图像:

plt.show()

运行完整的代码将生成一个3D气泡图,其中每个气泡的位置由x、y和z坐标确定,大小由size参数确定,颜色由color参数确定。

完整代码:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

np.random.seed(123)
n = 100
x = np.random.rand(n)
y = np.random.rand(n)
z = np.random.rand(n)
size = np.random.rand(n) * 100
color = np.random.rand(n)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, s=size, c=color)

plt.show()

运行上述代码后,即可得到一个3D气泡图。根据生成的随机数不同,每次运行结果可能会有所不同。通过修改生成随机数的种子和参数,可以得到不同的图形效果。