Невозможно использовать уникальные значения в столбце для отображения цветов в моем 3D-графике - PullRequest
0 голосов
/ 09 июля 2019

У меня есть Dataframe с 4 столбцами, чтобы построить его как график рассеяния в 3D.Моя ось значений:

x = df.NIR,y = df.SWIR,z = df.RED 

метки классов для каждого наблюдения находятся в столбце с именем класса, который вы можете получить таким образом: labels = df.Class_Name

Я использую следующий фрагмент кодасделать сюжет.Точки расположены на карте и различаются разными цветами.Однако в легенде извлекается только последнее значение, а не все остальные значения.

Я уже пытался, используя np.unique (метки), получить уникальные значения и использовать их в качестве метки.Но это не сработало.Я прочитал документацию на этикетках, но не нашел информации, которая могла бы помочь мне ответить на вопрос.

fig = plt.figure(figsize = (12,12))
ax = fig.add_subplot(111, projection = "3d")
labels = df.Class_Name
x = df.NIR_SPR
y = df.SWIR
z = df.RED_SPR

ax.scatter(x, y, z, marker='o', c = df.LC_CODE_15)
fig.suptitle('zonal statistics', fontsize = 14)
ax.set_xlabel('NIR - Summer 2018')
ax.set_ylabel('SWIR - Summer 2018')
ax.set_zlabel('RED - Summer 2018')
plt.legend(labels)

Мой результат должен показать трехмерную диаграмму рассеяния с метками в верхнем правом углу.К настоящему времени отображается только одна метка.

...