我想在我的Bokeh图表中添加标记,这里是我的示例代码,信号表有位置列,其值为1和0,如果位置== 1我需要在我的TimeSeries图表中添加标记。如何在不使用传统matplotlib绘图的情况下执行此操作,只使用Bokeh界面?
<%
ArrayList<Marker> list = new ArrayList<Marker>();
list = (ArrayList<Marker>)request.getAttribute("house");
for(int i = 0; i < list.size(); i++){
%>
<script>
test('<%= list.get(i).name %>');
<script>
<%
}
%>
<script>
function test(i){
alert(i);
}
</script>
答案 0 :(得分:1)
要将图表时间序列与散点图结合起来,对我有用的解决方案(使用Bokeh 0.11.1)是使用基本字形而不是图表。在您的示例中,您将使用figure
x_axis_type="datetime"
的参数和基本字形line
而不是图表TimeSeries
,并使用字形triangle
代替图表Scatter
。
from bokeh.plotting import figure
p = figure(title="My title", width=400, height=200,
x_axis_type="datetime")
p.yaxis.axis_label = "Stock Prices"
p.yaxis.axis_label = "Date"
p.triangle(xyvalues['Date'], xyvalues['short_mavg'], legend="short")
p.line(xyvalues['Date'], xyvalues['Price'], legend="price")
我希望它对你的情况也有帮助。