Цвет круга Боке в ColumnDataSource - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь отобразить свои кластеры в интерактивном круговом графике с Боке.Мне удалось отобразить сам график, но все характеристики на графике синие.Я хочу отобразить их в 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 голосов
/ 15 мая 2018

Создайте набор значений: цвета, а затем создайте новый столбец в вашем фрейме данных. Вот упрощенный пример:

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])
...