本文整理汇总了Python中bokeh.models.LabelSet方法的典型用法代码示例。如果您正苦于以下问题:Python models.LabelSet方法的具体用法?Python models.LabelSet怎么用?Python models.LabelSet使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bokeh.models
的用法示例。
在下文中一共展示了models.LabelSet方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: visualize_sentences
# 需要导入模块: from bokeh import models [as 别名]
# 或者: from bokeh.models import LabelSet [as 别名]
def visualize_sentences(vecs, sentences, palette="Viridis256", filename="/notebooks/embedding/sentences.png",
use_notebook=False):
tsne = TSNE(n_components=2)
tsne_results = tsne.fit_transform(vecs)
df = pd.DataFrame(columns=['x', 'y', 'sentence'])
df['x'], df['y'], df['sentence'] = tsne_results[:, 0], tsne_results[:, 1], sentences
source = ColumnDataSource(ColumnDataSource.from_df(df))
labels = LabelSet(x="x", y="y", text="sentence", y_offset=8,
text_font_size="12pt", text_color="#555555",
source=source, text_align='center')
color_mapper = LinearColorMapper(palette=palette, low=min(tsne_results[:, 1]), high=max(tsne_results[:, 1]))
plot = figure(plot_width=900, plot_height=900)
plot.scatter("x", "y", size=12, source=source, color={'field': 'y', 'transform': color_mapper}, line_color=None, fill_alpha=0.8)
plot.add_layout(labels)
if use_notebook:
output_notebook()
show(plot)
else:
export_png(plot, filename)
print("save @ " + filename)
示例2: visualize_words
# 需要导入模块: from bokeh import models [as 别名]
# 或者: from bokeh.models import LabelSet [as 别名]
def visualize_words(words, vecs, palette="Viridis256", filename="/notebooks/embedding/words.png",
use_notebook=False):
tsne = TSNE(n_components=2)
tsne_results = tsne.fit_transform(vecs)
df = pd.DataFrame(columns=['x', 'y', 'word'])
df['x'], df['y'], df['word'] = tsne_results[:, 0], tsne_results[:, 1], list(words)
source = ColumnDataSource(ColumnDataSource.from_df(df))
labels = LabelSet(x="x", y="y", text="word", y_offset=8,
text_font_size="15pt", text_color="#555555",
source=source, text_align='center')
color_mapper = LinearColorMapper(palette=palette, low=min(tsne_results[:, 1]), high=max(tsne_results[:, 1]))
plot = figure(plot_width=900, plot_height=900)
plot.scatter("x", "y", size=12, source=source, color={'field': 'y', 'transform': color_mapper}, line_color=None,
fill_alpha=0.8)
plot.add_layout(labels)
if use_notebook:
output_notebook()
show(plot)
else:
export_png(plot, filename)
print("save @ " + filename)
示例3: visualize_homonym
# 需要导入模块: from bokeh import models [as 别名]
# 或者: from bokeh.models import LabelSet [as 别名]
def visualize_homonym(homonym, tokenized_sentences, vecs, model_name, palette="Viridis256",
filename="/notebooks/embedding/homonym.png", use_notebook=False):
# process sentences
token_list, processed_sentences = [], []
for tokens in tokenized_sentences:
token_list.extend(tokens)
sentence = []
for token in tokens:
if model_name == "bert":
processed_token = token.replace("##", "")
else:
processed_token = token
if token == homonym:
processed_token = "\"" + processed_token + "\""
sentence.append(processed_token)
processed_sentences.append(' '.join(sentence))
# dimension reduction
tsne = TSNE(n_components=2)
tsne_results = tsne.fit_transform(vecs[1:])
# only plot the word representation of interest
interest_vecs, idx = np.zeros((len(tokenized_sentences), 2)), 0
for word, vec in zip(token_list, tsne_results):
if word == homonym:
interest_vecs[idx] = vec
idx += 1
df = pd.DataFrame(columns=['x', 'y', 'annotation'])
df['x'], df['y'], df['annotation'] = interest_vecs[:, 0], interest_vecs[:, 1], processed_sentences
source = ColumnDataSource(ColumnDataSource.from_df(df))
labels = LabelSet(x="x", y="y", text="annotation", y_offset=8,
text_font_size="12pt", text_color="#555555",
source=source, text_align='center')
color_mapper = LinearColorMapper(palette=palette, low=min(tsne_results[:, 1]), high=max(tsne_results[:, 1]))
plot = figure(plot_width=900, plot_height=900)
plot.scatter("x", "y", size=12, source=source, color={'field': 'y', 'transform': color_mapper},
line_color=None,
fill_alpha=0.8)
plot.add_layout(labels)
if use_notebook:
output_notebook()
show(plot)
else:
export_png(plot, filename)
print("save @ " + filename)
示例4: visualize_self_attention_scores
# 需要导入模块: from bokeh import models [as 别名]
# 或者: from bokeh.models import LabelSet [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)
示例5: make_plot
# 需要导入模块: from bokeh import models [as 别名]
# 或者: from bokeh.models import LabelSet [as 别名]
def make_plot(title='Forecasts'):
'''
# Generates the axes and background for the data to be plot on
#
:param title:
:return:
'''
plot = figure(plot_height=500, plot_width=500, tools=["pan,reset,save, wheel_zoom", hover],
x_range=[-4, 4], y_range=[-4, 4])
plot.title.text = title
# Mark the 8 sectors
x = 4
y = 0.707107
linewidth = 0.25
plot.line([-x, -y], [-x, -y], line_width=0.5, line_alpha=0.6)
plot.line([y, x], [y, x], line_width=0.5, line_alpha=0.6)
plot.line([-x, -y], [x, y], line_width=0.5, line_alpha=0.6)
plot.line([y, x], [-y, -x], line_width=0.5, line_alpha=0.6)
plot.line([-x, -1], [0, 0], line_width=0.5, line_alpha=0.6)
plot.line([1, x], [0, 0], line_width=0.5, line_alpha=0.6)
plot.line([0, 0], [-x, -1], line_width=0.5, line_alpha=0.6)
plot.line([0, 0], [1, x], line_width=0.5, line_alpha=0.6)
xt, yt = 3., 1.5
phase_marker_source = ColumnDataSource(data=dict(xt=[-xt, -yt, yt, xt, xt, yt, -yt, -xt],
yt=[-yt, -xt, -xt, -yt, yt, xt, xt, yt],
phase_labels=[str(i) for i in range(1, 9)]))
labels = LabelSet(x='xt', y='yt', text='phase_labels', level='glyph',
x_offset=0, y_offset=0, source=phase_marker_source,
render_mode='canvas', text_color='grey', text_font_size="30pt", text_alpha=0.25)
plot.add_layout(labels)
plot.circle([0], [0], radius=1, color="white", line_color='grey', alpha=0.6)
phase_name_source = ColumnDataSource(dict(x=[0, 0], y=[-3.75, 3.], text=['Indian \n Ocean', 'Western \n Pacific']))
glyph = Text(x="x", y="y", text="text", angle=0., text_color="grey", text_align='center', text_alpha=0.25)
plot.add_glyph(phase_name_source, glyph)
phase_name_source = ColumnDataSource(dict(x=[-3.], y=[0], text=['West. Hem\n Africa']))
glyph = Text(x="x", y="y", text="text", angle=np.pi / 2., text_color="grey", text_align='center', text_alpha=0.25)
plot.add_glyph(phase_name_source, glyph)
phase_name_source = ColumnDataSource(dict(x=[3.], y=[0], text=['Maritime\n continent']))
glyph = Text(x="x", y="y", text="text", angle=-np.pi / 2., text_color="grey", text_align='center', text_alpha=0.25)
plot.add_glyph(phase_name_source, glyph)
plot.xaxis[0].axis_label = 'RMM1'
plot.yaxis[0].axis_label = 'RMM2'
return plot
示例6: plot_waterfall_relative_importance
# 需要导入模块: from bokeh import models [as 别名]
# 或者: from bokeh.models import LabelSet [as 别名]
def plot_waterfall_relative_importance(self,incremental_rsquare_df):
index = list(incremental_rsquare_df['Features'].values)
data = {'Percentage Relative Importance': list(incremental_rsquare_df['percentage_incremental_r2'].values)}
df = pd.DataFrame(data=data,index=index)
net = df['Percentage Relative Importance'].sum()
# print("Net ",net)
df['running_total'] = df['Percentage Relative Importance'].cumsum()
df['y_start'] = df['running_total'] - df['Percentage Relative Importance']
df['label_pos'] = df['running_total']
df_net = pd.DataFrame.from_records([(net, net, 0, net)],
columns=['Percentage Relative Importance', 'running_total', 'y_start', 'label_pos'],index=["net"])
df = df.append(df_net)
df['color'] = '#1de9b6'
df.loc[df['Percentage Relative Importance'] == 100, 'color'] = '#29b6f6'
df.loc[df['Percentage Relative Importance'] < 0, 'label_pos'] = df.label_pos - 10000
df["bar_label"] = df["Percentage Relative Importance"].map('{:,.1f}'.format)
TOOLS = "reset,save"
source = ColumnDataSource(df)
p = figure(tools=TOOLS, x_range=list(df.index), y_range=(0, net+10),
plot_width=1000, title = "Percentage Relative Importance Waterfall")
p.segment(x0='index', y0='y_start', x1="index", y1='running_total',
source=source, color="color", line_width=35)
p.grid.grid_line_alpha=0.4
p.yaxis[0].formatter = NumeralTickFormatter(format="(0 a)")
p.xaxis.axis_label = "Predictors"
p.yaxis.axis_label = "Percentage Relative Importance(%)"
p.xaxis.axis_label_text_font_size='12pt'
p.yaxis.axis_label_text_font_size='12pt'
labels = LabelSet(x='index', y='label_pos', text='bar_label',
text_font_size="11pt", level='glyph',
x_offset=-14, y_offset=0, source=source)
p.add_layout(labels)
p.xaxis.major_label_orientation = -math.pi/4
show(p)