Вариант 1
Я уже написал GH проблему , чтобы устранить ошибку.Мы должны иметь возможность обновлять выбранные образцы программно.
Вариант 2
Если вы хотите скрыть только индексы выбора, вы можете делать то, что говорит Матеуш.
Обычно у вас будет только глиф с выбранными и невыбранными элементамикак это:
c = self.plot.scatter(
x='x',
y='x',
size=4,
line_color=None,
fill_color='blue',
source=source,
view=view,
nonselection_line_color=None,
nonselection_fill_color='blue',
nonselection_fill_alpha=1.0,
)
c.selection_glyph = Circle(
line_color=None,
line_alpha=1.0,
fill_color='red',
)
Но, если вы хотите изменить выделение и сохранить цвет выделенных элементов в настраиваемом выделении, в качестве обходного пути вы можете управлять другим списком custom_selection
с фактически выбранными выборками.,Таким образом, вам нужно будет создать два глифа, один для выбранного и другой с невыбранными образцами.Примерно так:
c = self.plot.scatter(
x='x',
y='x',
size=4,
line_color=None,
fill_color='blue',
source=source,
view=view_non_selected, # here the view should have the non-selected samples
nonselection_line_color=None,
nonselection_fill_color='blue',
nonselection_fill_alpha=1.0,
)
c.selection_glyph = Circle(
line_color=None,
line_alpha=1.0,
fill_color='blue', # I plot the selected point with blue color here as well
)
c_sel = self.plot.scatter(
x='x',
y='x',
size=4,
line_color=None,
fill_color='red',
source=source,
view=view_selected, # here the view should have the selected samples
nonselection_line_color=None,
nonselection_fill_color='red',
nonselection_fill_alpha=1.0,
)
c_sel.selection_glyph = Circle(
line_color=None,
line_alpha=1.0,
fill_color='red', # I plot the selected point with blue color here as well
)
Каждый раз, когда вы хотите обновить выборки, вам придется обновлять список индексов представлений:
view_non_selected.filters = [IndexFilter(non_selected_indices_list)]
view_selected.filters = [IndexFilter(custom_selection)]
Вы можете создать один одиночный глиф с цветным столбцом в видену и обнови источник.Это может быть более эффективным.
Но на вашем месте я бы дождался исправления ошибки.