本文整理汇总了Python中bokeh.models.TapTool方法的典型用法代码示例。如果您正苦于以下问题:Python models.TapTool方法的具体用法?Python models.TapTool怎么用?Python models.TapTool使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bokeh.models
的用法示例。
在下文中一共展示了models.TapTool方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_stock
# 需要导入模块: from bokeh import models [as 别名]
# 或者: from bokeh.models import TapTool [as 别名]
def create_stock(cls, source):
# xdr1 = DataRange1d(sources=[source.columns("x")])
# ydr1 = DataRange1d(sources=[source.columns("y")])
# plot1 = figure(title="Outliers", x_range=xdr1, y_range=ydr1, plot_width=650, plot_height=400)
stock_plot = figure(title="", plot_width=650, plot_height=400)
# stock_plot.tools.append(TapTool(plot=stock_plot))
# stock_plot.line(x="x", y="values", size=12, color="blue", line_dash=[2, 4], source=source)
return stock_plot
# plot1.scatter(x="x", y="y", size="size", fill_color="red", source=source)
示例2: _add_select_tools
# 需要导入模块: from bokeh import models [as 别名]
# 或者: from bokeh.models import TapTool [as 别名]
def _add_select_tools(current_src, other_src, param_plot, point_glyph):
select_js_kwargs = {"current_src": current_src, "other_src": other_src}
select_js_code = """
// adapted from https://stackoverflow.com/a/44996422
var chosen = current_src.selected.indices;
if (typeof(chosen) == "number"){
var chosen = [chosen]
};
var chosen_models = [];
for (var i = 0; i < chosen.length; ++ i){
chosen_models.push(current_src.data['model'][chosen[i]])
};
var chosen_models_indices = [];
for (var i = 0; i < current_src.data['index'].length; ++ i){
if (chosen_models.includes(current_src.data['model'][i])){
chosen_models_indices.push(i)
};
};
current_src.selected.indices = chosen_models_indices;
current_src.change.emit();
for (var i = 0; i < other_src.length; ++i){
var chosen_models_indices = [];
for (var j = 0; j < other_src[i].data['index'].length; ++ j){
if (chosen_models.includes(other_src[i].data['model'][j])){
chosen_models_indices.push(j)
};
};
other_src[i].selected.indices = chosen_models_indices;
other_src[i].change.emit();
};
"""
select_callback = CustomJS(args=select_js_kwargs, code=select_js_code)
# point_glyph as only renderer assures that when a point is chosen
# only that point's model is chosen
# this makes it impossible to choose models based on clicking confidence bands
tap = TapTool(renderers=[point_glyph], callback=select_callback)
param_plot.tools.append(tap)
boxselect = BoxSelectTool(renderers=[point_glyph], callback=select_callback)
param_plot.tools.append(boxselect)
示例3: visualize_self_attention_scores
# 需要导入模块: from bokeh import models [as 别名]
# 或者: from bokeh.models import TapTool [as 别名]
def visualize_self_attention_scores(tokens, scores, filename="/notebooks/embedding/self-attention.png",
use_notebook=False):
mean_prob = np.mean(scores)
weighted_edges = []
for idx_1, token_prob_dist_1 in enumerate(scores):
for idx_2, el in enumerate(token_prob_dist_1):
if idx_1 == idx_2 or el < mean_prob:
weighted_edges.append((tokens[idx_1], tokens[idx_2], 0))
else:
weighted_edges.append((tokens[idx_1], tokens[idx_2], el))
max_prob = np.max([el[2] for el in weighted_edges])
weighted_edges = [(el[0], el[1], (el[2] - mean_prob) / (max_prob - mean_prob)) for el in weighted_edges]
G = nx.Graph()
G.add_nodes_from([el for el in tokens])
G.add_weighted_edges_from(weighted_edges)
plot = Plot(plot_width=500, plot_height=500,
x_range=Range1d(-1.1, 1.1), y_range=Range1d(-1.1, 1.1))
plot.add_tools(HoverTool(tooltips=None), TapTool(), BoxSelectTool())
graph_renderer = from_networkx(G, nx.circular_layout, scale=1, center=(0, 0))
graph_renderer.node_renderer.data_source.data['colors'] = Spectral8[:len(tokens)]
graph_renderer.node_renderer.glyph = Circle(size=15, line_color=None, fill_color="colors")
graph_renderer.node_renderer.selection_glyph = Circle(size=15, fill_color="colors")
graph_renderer.node_renderer.hover_glyph = Circle(size=15, fill_color="grey")
graph_renderer.edge_renderer.data_source.data["line_width"] = [G.get_edge_data(a, b)['weight'] * 3 for a, b in
G.edges()]
graph_renderer.edge_renderer.glyph = MultiLine(line_color="#CCCCCC", line_width={'field': 'line_width'})
graph_renderer.edge_renderer.selection_glyph = MultiLine(line_color="grey", line_width=5)
graph_renderer.edge_renderer.hover_glyph = MultiLine(line_color="grey", line_width=5)
graph_renderer.selection_policy = NodesAndLinkedEdges()
graph_renderer.inspection_policy = EdgesAndLinkedNodes()
plot.renderers.append(graph_renderer)
x, y = zip(*graph_renderer.layout_provider.graph_layout.values())
data = {'x': list(x), 'y': list(y), 'connectionNames': tokens}
source = ColumnDataSource(data)
labels = LabelSet(x='x', y='y', text='connectionNames', source=source, text_align='center')
plot.renderers.append(labels)
plot.add_tools(SaveTool())
if use_notebook:
output_notebook()
show(plot)
else:
export_png(plot, filename)
print("save @ " + filename)