我有一个 900k+ 行和 28 列的数据框。我正在使用我在plotly 官方网站上的这个示例中找到的代码片段:
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 notebook 中运行它。当我运行此代码时,一切似乎都正常,但出现了以下警告:
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 次。看起来必须有一些限制才能在基于 Web 浏览器的 UI(如 jupyter 笔记本)中制作此图。
我试图导入模块'plotly.graph_objs.Scattergl',但它说pyplot中没有这样的模块。
我只是不知道如何解决这个限制。如果无法做到这一点,我怎么能使用类似的情节matplotlib?任何帮助都感激不尽。
非常感谢