在散景全息视图中可视化
visualizing in bokeh holoview
我生成了以下数据:
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
以下语法帮助我遵循 。如果我在右侧更改 "topic",图表上的 header 会更改,但 x 轴 and/or y 轴的值不会更改。我的问题是如何更改右侧下拉列表以查看左侧图表的变化。或任何其他建议表示赞赏。
首先,我建议您确保您的 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')
```
基于安德鲁的帮助。请参阅下面的解决方案。谢谢安德鲁:
我生成了以下数据:
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
以下语法帮助我遵循
首先,我建议您确保您的 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')
```
基于安德鲁的帮助。请参阅下面的解决方案。谢谢安德鲁: