Plotly - Построение кластеров k-средних на графике не будет работать - PullRequest
0 голосов
/ 31 октября 2018

У меня есть датафрейм 900k + строк и 28 столбцов. Я использую этот фрагмент кода, который я нашел в в этом примере на официальном сайте:

import plotly.plotly as py
import pandas as pd

scatter = dict(
    mode = "markers",
    name = "y",
    type = "scatter3d",    
    x = col1, y = col2, z = col3,
    marker = dict( size=2, color="rgb(23, 190, 207)" )
)
clusters = dict(
    alphahull = 7,
    name = "y",
    opacity = 0.1,
    type = "mesh3d",    
    x = col1, y = col2, z = col3
)
layout = dict(
    title = '3d point clustering',
    scene = dict(
        xaxis = dict( zeroline=False ),
        yaxis = dict( zeroline=False ),
        zaxis = dict( zeroline=False ),
    )
)
fig = dict( data=[scatter, clusters], layout=layout )
# Use py.iplot() for IPython notebook
py.plot(fig, filename='3d point clustering')

мой df уже загружен. Обратите внимание, что col2 имеет 'object' dtype.

Я запускаю это в блокноте Jupyter. Когда я запускаю этот код, кажется, все идет хорошо, но у меня появляется это предупреждение:

UserWarning:

Woah there! Look at all those points! Due to browser limitations, the Plotly SVG drawing functions have a hard time graphing more than 500k data points for line charts, or 40k points for other types of charts. Here are some suggestions:
(1) Use the `plotly.graph_objs.Scattergl` trace object to generate a WebGl graph.
(2) Trying using the image API to return an image instead of a graph URL
(3) Use matplotlib
(4) See if you can create your visualization with fewer data points

If the visualization you're using aggregates points (e.g., box plot, histogram, etc.) you can disregard this warning.

Это предупреждение появляется 7 раз подряд. Похоже, должно быть какое-то ограничение для создания этих графиков в пользовательском интерфейсе на основе веб-браузера, например в ноутбуках jupyter.

Я попытался импортировать модуль plotly.graph_objs.Scattergl, но он говорит, что в pyplot такого модуля нет.

Я просто не знаю, как обойти это ограничение. В случае, если это не может быть сделано, как я могу сделать подобный график, используя matplotlib? Любая помощь будет высоко ценится.

Большое спасибо

1 Ответ

0 голосов
/ 03 ноября 2018

Может быть, вы не правильно позвонили Scattergl ... Проверьте здесь .

Я думаю, это то, что вы ищете (пример взят из документации):

import plotly.graph_objs as go
trace = go.Scattergl(...)

Надеюсь, это поможет

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