ColumnDataSource

时间:2018-05-15 14:06:14

标签: python plot colors bokeh

我正在尝试使用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属性

1 个答案:

答案 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])