我正在尝试使用Bokeh在交互式圆形图中显示我的星团。我设法显示了图表本身,但图表上的所有规格都是蓝色的。我想在4个集群中显示它们,因为这是一个集群分析。
这是没有实现颜色的代码:
colormap = {0: 'brown', 1: 'green', 2: 'blue', 3: 'purple'}
colors = [colormap[x] for x in df['cluster']]
source = ColumnDataSource(data=df)
hover = HoverTool(tooltips=[('index', '@index'),('Tweets','@Bericht'), ('Polarity','@Polarity'), ('Subjectivity','@Subjectivity')])
p = figure(title = "Sentiment analyse", plot_width=1000, plot_height=500)
p.xaxis.axis_label = 'Polarity'
p.yaxis.axis_label = 'Subjectivity'
p.circle(x='Polarity', y='Subjectivity', source=source, fill_alpha=0.2, size=6)
p.add_tools(hover)
output_file("sentiment.html", title="sentiment.py example")
show(p)
在color=colors
中添加颜色属性p.circle
时,我收到错误,因为我需要在source = ColumnDataSource(data=df)
中实现颜色。
有谁知道如何在colors
?
ColumnDataSource
属性
答案 0 :(得分:0)
创建值的颜色:颜色,然后在数据框中创建一个新列。这是一个简化的例子:
df = pd.DataFrame(data={"col1":[0, 1, 2, 3, 1, 2, 3]})
colors = {0: "brown", 1: "green", 2: "blue", 3: "purple"}
df["color"] = df["col1"].apply(lambda c: colors[c])