Matplotlib "тяжелый" 3D-график рассеяния - PullRequest
3 голосов
/ 11 апреля 2019

Мне нужно построить трехмерный точечный график, используя python.Визуализация требовала наличия облака точек, показывающего некоторые точки, принадлежащие одному региону, а некоторые другие - другому региону.

Вот пример.Моя настоящая задача требует сделать это с фигурами, которые не описываются уравнением, но задача похожа

import numpy как np из mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot как plt

points = np.linspace(-10,10,50)
xx,yy,zz = np.meshgrid(points,points,points,indexing='ij')

# cylinder in the meshgrid
cylinder_coordinates = zz**2+yy**2 <= 4

xxCyl = xx[cylinder_coordinates]
yyCyl = yy[cylinder_coordinates]
zzCyl = zz[cylinder_coordinates]

fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(xx,yy,zz,alpha=0.2)
ax.scatter(xxCyl,yyCyl,zzCyl,c='red') 

Уже с приведенным выше кодом мой компьютер борется за рендеринг вывода.С настоящей задачей это занимает вечность.У кого-то есть идея, как выполнить эту задачу, но сделать ее «легче»?

Данные, которые я ищу для визуализации, не имеют ничего общего со статистическими переменными.Это чисто геометрическая проблема.Мне нужно продемонстрировать, что точки, принадлежащие геометрии, правильно классифицированы в соответствии с различными областями, и поэтому я выполняю правильные операции с ними.

...