У меня есть некоторый пример информации, как показано ниже, и я хочу сделать трехмерный график рассеяния с другим цветом рассеяния на основе «кластеров» (например, 0,1,2)
ID TP ALB BUN clusters
1 153 101 698 1
2 100 90 400 0
3 50 199 500 1
4 113 102 340 2
В настоящее времяЯ попытался:
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure(figsize=(10, 8))
ax1 = fig.add_subplot(111,projection='3d')
for i in range(len(df_tr)):
x, y, z = df_tr.iloc[i]['BUN'], df_tr.iloc[i]['ALB'], df_tr.iloc[i]['TP']
ax1.scatter(x, y, z, c=['blue'])
ax1.text(x, y, z, '{0}'.format(df_tr.iloc[i]
['clusters']), size=12)
ax1.set_xlabel('BUN')
ax1.set_ylabel('ALB')
ax1.set_zlabel('TP')
ax1.legend('012')
plt.show()
Получение результата разброса имеет информацию о кластере (0,1 и 2), но есть ли в любом случае изменить цвет разброса на основе ifnormation для конкретного столбца с помощью Axes3D?