При построении большого облака точек с использованием plotly получается пустой график - PullRequest
0 голосов
/ 26 февраля 2020

Построение довольно большого облака точек в python с использованием plotly создает график с осями (не репрезентативными для диапазона данных) и без точек данных.

Код:

import pandas as pd
import plotly.express as px
import numpy as np


all_res = np.load('fullshelf4_11_2019.npy' )

all_res.shape

(3, 6742382)

np.max(all_res[2])

697.5553566696478

np.min(all_res[2])

-676.311654692491

frm = pd.DataFrame(data=np.transpose(all_res[0:, 0:]),columns=["X", "Y", "Z"])
fig = px.scatter_3d(frm, x='X', y='Y', z='Z')
fig.update_traces(marker=dict(size=4))
fig.update_layout(margin=dict(l=0, r=0, b=0, t=0))
fig.show()

blank plot produced by plotly

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

all_res = np.random.rand(3, 6742382)

, который также создает пустой график с осевыми масштабами, которые неверны.

Итак - что я делаю не так, и есть ли лучший способ построить такой умеренно большой набор данных?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 26 февраля 2020

Кажется, что слишком много данных для WebGL, чтобы справиться. Мне удалось построить 100 тыс. Очков, но 1 млн. Очков уже заставили Юпитера взломать sh. Однако трехмерная диаграмма рассеяния в 6,7 миллиона точек в любом случае представляет сомнительную ценность. Вы, вероятно, не сможете разобраться в этом (за исключением, может быть, границ данных), и вращение будет очень медленным и т. Д. c.

Я бы попытался придумать альтернативные подходы, в зависимости на то, что вы хотите сделать. Может быть, выбрать репрезентативное подмножество точек и построить их.

...