我想使用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散点图,但不能用图表生成。
答案 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