【问题标题】:visualizing in bokeh holoview在散景全息视图中可视化
【发布时间】:2018-07-28 18:38:19
【问题描述】:

我已经生成了以下数据:

  topic termWeights termNames
0   0   0.02788352873965973 christma
1   0   0.02232702425056217 dragon
2   0   0.019817406886504067    autumn
3   0   0.01850595162915197 everyth
4   0   0.016370882157494063    hors
.....................
8   0   0.014648323538626204    mysteri
9   0   0.01418412337079642 red
10  1   0.03093819711779432 call
11  1   0.029868336735626826    book

我正在尝试可视化主题模型。

from bokeh.layouts import row
from bokeh.plotting import figure, show, output_file
import holoviews as hv, numpy as np, pandas as pd
hv.extension('matplotlib', 'bokeh', width=100)

ds=hv.Dataset(overAllTopics, ['topic','termWeights'], 'termNames').aggregate(function=np.nansum)
by_state = ds.to(hv.Curve, 'termWeights','termNames') 
by_state 

以下语法有助于我关注。如果我更改右侧的“主题”,图表上的标题会更改,但 x 轴和/或 y 轴的值不会更改。我的问题是如何更改右侧下拉菜单以查看左侧图表的变化。或任何其他建议表示赞赏。

【问题讨论】:

    标签: data-visualization bokeh topic-modeling holoviews


    【解决方案1】:

    基于安德鲁的帮助。请参阅下面的解决方案。谢谢安德鲁:

    【讨论】:

    • 您可能希望 .options(xrotation=90)xrotation=45 使名称可读。
    • 其实我就是这么做的。忘记贴在这里了。我使用 xrotation=60。这样看起来不错。
    【解决方案2】:

    首先,我建议您确保您的 termWeights 是浮点数据类型(它现在看起来像字符串对象)。

    然后,我建议使用 hv.Bars 而不是 hv.Curve,因为每个主题只有一个数据点(在您执行 .aggregate() 之后),这就是您看不到任何内容的原因。 [没关系,我在示例中按错误的列分组]

    ```

    import numpy as np
    import pandas as pd
    import holoviews as hv
    hv.extension('bokeh')
    df = pd.read_csv('test.txt', delimiter='\s+')
    df.dtypes
    
    ds = hv.Dataset(df, ['topic','termWeights'], 'termNames').aggregate(function=np.nansum)
    
    ds.to(hv.Bars, 'topic', 'termWeights', groupby='termNames')
    

    ```

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 2021-07-26
      • 2019-11-30
      相关资源
      最近更新 更多