Jupyter笔记本中未显示密谋森伯斯特图

时间:2019-09-30 18:25:59

标签: python-3.x jupyter-notebook plotly plotly-python

我正在使用Plotly和Jupyter生成一些视觉效果,以更好地了解在线用户的旅程。我正在使用Plotly朝阳图,因为这样做可以使视觉效果很好。 Plotly提供了一个很好的示例,并提供了我希望使用自己的数据产生的视觉效果。我创建了一个反映示例的数据框,但是当我尝试使用.show()时,未生成任何图表。它似乎运行良好(没有错误),并在图表应有但图表不产生空白的地方产生了空白。我们正在测试的数据最终最终大约为16,000行。

我在Plotly的在线和离线游戏中都没有发挥作用。我尝试了不同的标签和ID。我还尝试过重新启动笔记本电脑,并且只运行我的绘图,而不是先运行示例。我已经收集了数据,并缩小到大约50行,其中有4个父节点,其余为后代。所有这些都得到了相同的结果,该图出现了空白,但没有生成图,也没有报告错误。

import numpy as np                             
import pandas as pd
import plotly.graph_objects as go

df3=pd.read_csv('sessionsForAnalysis.csv')
df3['parents'] = df3.groupby(['sessionid'])['pagelabel'].shift(1)

df4=df3[['pagelabel','pagelabel','parents']]
df4.columns=["ids", "labels","parents"]
df4=df4.drop_duplicates()

fig1 = go.Figure()

fig1.add_trace(go.Sunburst(
    ids=df4.ids,
    labels=df4.labels,
    parents=df4.parents,
    #values=one_dimensional_array, #I added this
    domain=dict(column=0)
))



fig1.show()

我希望这会产生如下所示的朝阳图,类似于here,但我们的数据除外,因此我们可以使用它来分析旅程:

enter image description here

1 个答案:

答案 0 :(得分:1)

我没有特定的解决方案,但是至少在没有特定数据集的情况下,我会尽自己所能地提出建议。


我的第一个怀疑是您没有安装正确的软件包,但是因为您已经声明了

  

我都没有为Plotly玩过在线游戏还是离线游戏   似乎有所作为

在我看来,您的问题 是您的数据,特别是 类型 或<数据的 结构 。在your referred example中,我尝试将values=[10, 14, 12, 10, 2, 6, 6, 4, 4]替换为values=['10', '14', '12', '10', '2', '6', '6', '4', '4'],但效果很好,并增加了导致问题的是结构而不是类型的可能性。

然后我弄乱了结构,将labels=["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"]替换为 labels=["Eve", "Cain", "Noam", "Abel", "Awan", "Enoch", "Azura"]。现在,不会生成任何图,并且不会显示以下错误消息:

enter image description here

我的结论:确保parents中的每个观察结果都在labels中发生。

可以从'Noam'中删除labels。似乎是因为'Noam'不在parents中发生: enter image description here

从标签中删除'Seth'是不可行的:

enter image description here

再次,请确保parents中的每个观察结果都出现在labels中,并查看是否对您有用。