3d график сюжетных точек с цветом - PullRequest
0 голосов
/ 02 октября 2018

Моя цель - построить трехмерный график со следующими данными:

(array([[-0.45940028, -1.07401008, -0.60800963],
       [-0.34535859, -0.80739745,  0.48825026],
      ...
       [-0.39106198, -0.91424521, -0.7051101 ]]), array([0, 0, 1, 1, ...
       1, 0, 1, 1, 0, 1, 0, 0]))

Последний массив символизирует два разных цвета (цвет не имеет значения)

Как я могусоздать трехмерный график с соответствующим цветом из этого набора данных?

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Вот как вы можете сделать это, используя нарезку массива и используя последний массив в качестве цветов

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

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

data = (np.array([[-0.45940028, -1.07401008, -0.60800963],[-0.34535859,-0.80739745,  0.48825026],[-0.14535859, -0.60739745,  0.68825026], [-0.44535859, -0.10739745,  0.28825026], [-0.64535859, -0.20739745,  0.18825026],[-0.39106198, -0.91424521, -0.7051101 ]]), np.array([0, 0, 1, 1, 1, 0]))

ax.scatter(data[0][:,0], data[0][:,1], data[0][:,2], zdir='z', s=80, c=data[1])

enter image description here

0 голосов
/ 02 октября 2018

Вы можете использовать mplot3d:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
xs = [1,2,3,4,5]
ys = [1,2,3,4,5]
zs = [1,2,3,4,5]
ax.scatter(xs, ys, zs=0, zdir='z', s=20, c=None, depthshade=True, *args, **kwargs)

plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...