写一段python代码,将不同的多组三维数据按照标签运用不同颜色可视化出来
时间: 2024-02-15 14:04:56 浏览: 119
好的,以下是一段示例代码,用于将不同标签的多组三维数据可视化出来,每个标签使用不同的颜色:
```python
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
# 生成三组随机数据
data1 = np.random.rand(20, 3)
data2 = np.random.rand(20, 3)
data3 = np.random.rand(20, 3)
# 给每组数据打上标签
labels1 = np.zeros(20)
labels2 = np.ones(20)
labels3 = np.full(20, 2)
# 将所有数据和标签合并起来
data = np.vstack((data1, data2, data3))
labels = np.hstack((labels1, labels2, labels3))
# 定义颜色列表,每个标签对应一种颜色
colors = ['r', 'g', 'b']
# 创建 3D 图像
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 遍历每个标签,将数据可视化出来
for i in range(len(colors)):
indices = np.where(labels == i)
ax.scatter(data[indices, 0], data[indices, 1], data[indices, 2], c=colors[i], label='Label {}'.format(i))
# 添加图例
ax.legend()
# 显示图像
plt.show()
```
这段代码使用了 `numpy` 和 `matplotlib` 库来生成随机数据并将其可视化出来。我们首先生成三组随机数据 `data1`、`data2` 和 `data3`,然后给每组数据打上标签 `labels1`、`labels2` 和 `labels3`。将所有数据和标签合并起来,得到 `data` 和 `labels` 数组。接着,定义颜色列表 `colors`,每个标签对应一种颜色。创建 3D 图像,遍历每个标签,使用 `np.where` 函数找到属于该标签的数据点的索引,然后用 `ax.scatter` 函数将这些数据点可视化出来。最后,使用 `ax.legend` 函数添加图例,使用 `plt.show` 函数显示图像。
阅读全文