Я пытаюсь bokeh. До сих пор это довольно забавно. Но я не полностью понимаю это. Моя цель - сделать простую, но интерактивную диаграмму рассеяния.Этикетка и символ цвета в bokeh
У меня есть три основные вопрос:
- Я хочу, чтобы маркировать график рассеяния с
names
- Я хочу разброс быть окрашен в соответствии с
colors
- Я хотел бы виджеты, где я могу решить, если отображаются цвета и имена.
Вот что я сделал до сих пор. Я пытался использовать LabelSet
, но я застрял. Любая помощь очень ценится!
# interactive widget bokeh figure
from bokeh.io import curdoc
from bokeh.layouts import row, widgetbox
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import Slider, TextInput
from bokeh.plotting import figure
from bokeh.models import Range1d, LabelSet, Label
import numpy as np
# data
x = [-4, 3, 2, 4, 10, 11, -2, 6]
y = [-3, 2, 2, 9, 11, 12, -5, 6]
names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
colors =['r', 'y', 'y', 'r', 'g', 'g', 'g', 'g']
p = figure(plot_height=400, plot_width=400, title="a little interactive chart",
tools="crosshair,pan,reset,save,wheel_zoom",
x_range=[-10, 10], y_range=[-10, 10])
labels = LabelSet(x='x', y='y', text='names', level='glyph',
x_offset=5, y_offset=5)
p.add_layout(labels)
p.circle(x, y, fill_color="red", line_color="red", size=6)
# Set up widgets
text = TextInput(title="title", value='a little interavtive chart')
# Set up callbacks
def update_title(attrname, old, new):
p.title.text = text.value
text.on_change('value', update_title)
# # Set up layouts and add to document
inputs = widgetbox(text, names)
curdoc().add_root(row(inputs, p, width=800))
curdoc().title = "Sliders"
Ничего себе! Спасибо! Да, я пытаюсь использовать 'Select'. Я совершенно не знаком с боке. Извините за отправку таких новичков! Хотя, вероятно, мне придется сделать это некоторое время ... – Rachel
Не 'fill_color =" red "' overwrite 'colors = colors'? Моя идея заключалась в том, чтобы использовать «цвета» для заполнения глифов отдельно? – Rachel
А ... Мне нужно передать «цвета» с помощью «круга»! Спасибо! – Rachel