使用DataFrame

时间:2017-10-30 04:58:40

标签: python plotly

我想使用plotly生成3D Scatter图表。我尝试了两种不同的方法来创建图表。两个人都取得了成功。第一个代码没有做任何事情。这是在他们的参考文献中使用的方法。没有回溯错误。没有显示或生成图表。

import plotly.plotly as py
import plotly.graph_objs as go
import cufflinks as cf
import plotly
from plotly.offline import download_plotlyjs, init_notebook_mode, plot,iplot
plotly.offline.init_notebook_mode()
init_notebook_mode()
cf.go_offline()

df.iplot(kind='scatter', mode='markers', x='x', y='y', z='label')

下一个代码提供了“NameError:name'z'未定义”。是否有从数据框创建3D散点的技巧或提示?

import plotly.plotly as py
import plotly.graph_objs as go
import cufflinks as cf
import plotly
from plotly.offline import download_plotlyjs, init_notebook_mode, plot,iplot
plotly.offline.init_notebook_mode()
init_notebook_mode()
cf.go_offline()

trace1 = go.Scatter3d(
    x=df['x'],
    y=df['y'],
    z=df['label'],
    mode='markers',
    marker=dict(
        size=12,
        color=z,                # set color to an array/list of desired values
        colorscale='Viridis',   # choose a colorscale
        opacity=0.8
    )
)



data = [trace1]
layout = go.Layout(
    margin=dict(
        l=0,
        r=0,
        b=0,
        t=0
    )
)
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename='DF')

追溯:

文件“”,第8行,in     color = z,#将颜色设置为数组/所需值列表

NameError:名称'z'未定义

使用以下代码生成数据框:

dist = 1 - cosine_similarity(vcx)
MDS()
mds = MDS(n_components=k, dissimilarity="precomputed", random_state=1)
pos = mds.fit_transform(dist)  # shape (n_components, n_samples)
xs, ys = pos[:, 0], pos[:, 1]
df = pd.DataFrame(dict(x=xs, y=ys, label=clusters, title=titles)) 

我已经能够使用pyplot中的数据帧生成3D散点图,但不能用图表生成。

1 个答案:

答案 0 :(得分:0)

很老的问题,但是对于任何想要答案的人: 代替(第17行):

        color=z,                         # set color to an array/list of desired values

您应该输入:

        color=df['label'],                # set color to an array/list of desired values