问题描述
我无法在bokeh(带有Python 3.8.6的v2.2.3)中使用Ray字形来与HoverTool一起使用。工具提示不会显示。
import numpy as np
from bokeh.io import output_notebook,show
from bokeh.models import ColumnDataSource,HoverTool,Range1d
from bokeh.plotting import figure
output_notebook()
N = 9
x0 = np.zeros(N)
y0 = np.ones(N)
x = np.linspace(-2,2,N)
y = x**2
z = x + 1j * y
source = ColumnDataSource(dict(x=x0,y=y0,length=np.absolute(z),angle=np.angle(z)))
fig = figure(title='',plot_width=300,plot_height=300)
fig.ray(x='x',y='y',length='length',angle='angle',source=source,line_width=2)
tooltips = [('length','@length'),('angle','@angle')]
fig.add_tools(HoverTool(tooltips=tooltips))
fig.x_range = Range1d(-2,2)
fig.y_range = Range1d(0,4)
show(fig)
解决方法
射线字形当前不支持任何命中测试(即,它们不能与悬停工具一起使用)。
https://github.com/bokeh/bokeh/wiki/Glyph-Hit-Testing-Census
您最好的选择是<div class="container p-5">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{% include 'core/edit_post/edit_post_header.html' %}
<div class="row mt-4 form-group w-100">
<label class="font-weight-bold" for="{{ form.text.id_for_label }}">Text</label>
<textarea name="{{ form.text.name }}" cols="40" rows="10" maxlength="{{ form.fields.text.max_length }}"
class="textarea form-control" id="{{ form.text.auto_id }}"
placeholder="Enter your text"></textarea>
</div>
<div class="row">
{% include 'core/edit_post/edit_post_file_upload.html' %}
</div>
</form>
</div>
或segment
。