我面临与在散景图中正确显示 HoverTool 工具提示相关的问题。我的目的是只显示一个,使用属性:
模式 = vline
但是,我的绘图为 vline 在与图形交互期间穿过的每个字形(系列)呈现一个工具提示,如下所示:
即使我将属性 Mode 更改为“鼠标”,该图仍会继续呈现多个工具提示:
我的代码:[一个汇编函数,一个更大项目的一部分]
from bokeh.models import (HoverTool,
ColumnDataSource,
Title,
DatetimeTickFormatter)
import pandas as pd
from bokeh.io import show, output_file
from bokeh.plotting import figure
def assembly_chart(df, complements):
"""function to assembly the chart"""
output_file("movigrama_chart.html")
source = ColumnDataSource(df)
p = figure(x_axis_type='datetime',
x_axis_label='days of moviment',
y_axis_label='unities movimented',
plot_width=1230,
plot_height=500,
active_scroll='wheel_zoom')
p.vbar(x='DT',
bottom=0,
top='STOCK',
width=pd.Timedelta(days=1),
fill_alpha=0.4,
color='#99d8c9',
source=source)
p.vbar(x='DT',
bottom=0,
top='SOMA_SAI',
width=pd.Timedelta(days=1),
fill_alpha=0.8,
color='crimson',
source=source)
p.vbar(x='DT',
bottom=0,
top='SOMA_ENTRA',
width=pd.Timedelta(days=1),
fill_alpha=0.8,
color='seagreen',
source=source)
p.add_layout(Title(text=complements['warehouse'],
text_font='helvetica', …Run Code Online (Sandbox Code Playgroud) 我遇到一个找不到解决方案的问题。我想更改绘图的条形宽度,但是不管我在方法vbar的WIDTH参数中输入多少,图形都保持不变。
这是代码:
from bokeh.io import show, output_file
from bokeh.plotting import figure
import pandas as pd
df = pd.read_csv('Data/moviments.txt', delimiter='\t', encoding='utf-8')
output_file("bar_basic.html")
df['DT']=pd.to_datetime(df['DT'])
p = figure(x_axis_type='datetime',
plot_width=1230,
plot_height=500,
title='Moviments')
p.vbar(x=df['DT'],top=df['SUM_IN'], width=100, fill_alpha=0.8, color='green')
p.vbar(x=df['DT'],top=df['SUM_OUT'], width=100, fill_alpha=0.8, color='red')
p.xgrid.grid_line_color = None
show(p)
Run Code Online (Sandbox Code Playgroud)
那是我的数据框的信息:
RangeIndex:133个条目,0到132个数据列(总共5列):DT 133非空datetime64 [ns] TRANSACT_IN 133非空int64 TRANSACT_OUT
133非空int64 SUM_IN 133非空int64 SUM_OUT
133非空int64 dtypes :datetime64ns,int64(4)