python - 带有 BOKEH 的延迟频率直方图
问题描述
我需要为每家航空公司绘制延迟频率的直方图,并使用选项卡将它们显示在同一个图上。
我实例化了 3 个图形和 3 个 ColumnDataSource 对象。我没有错误,但图表没有出现,图是空的。我不知道错误来自哪里。
有人可以帮助我吗?谢谢
`delay_united = df[df['carrier'] == 'UA']
delay_united = delay_united.dropna()
delay_jetblue = df[df['carrier'] == 'B6']
delay_jetblue = delay_jetblue.dropna()
delay_express = df[df['carrier'] == 'AA']
delay_express = delay_express.dropna()
p_united = figure(plot_width = 600, plot_height = 400, y_range = (0, 0.03),
x_axis_label='Retard en minutes', y_axis_label= 'Fréquence')
p_express = figure(plot_width = 600, plot_height = 400, y_range = (0, 0.03),
x_axis_label='Retard en minutes', y_axis_label= 'Fréquence')
p_jetblue = figure(plot_width = 600, plot_height = 400, y_range = (0, 0.03),
x_axis_label='Retard en minutes', y_axis_label= 'Fréquence')`
hist_united, edges_united = np.histogram(delay_united['arr_delay'], bins = 50, density = True)
hist_express, edges_express = np.histogram(delay_express['arr_delay'], bins = 50, density = True)
hist_jetblue, edges_jetblue = np.histogram(delay_jetblue['arr_delay'], bins = 50, density = True)
source_united = ColumnDataSource(delay_united)
source_express = ColumnDataSource(delay_express)
source_jetblue = ColumnDataSource(delay_jetblue)
p_united.vbar(x = 'hist', top='edges', color='red', width = 3, source = source_united)
tab1 = Panel(child=p_united, title="United Air Lines Inc.")
p_express.vbar(x = 'hist', top='edges', color='blue', width = 3, source = source_express)
tab2 = Panel(child=p_express, title="ExpressJet Airlines Inc.")
p_jetblue.vbar(x = 'hist', top='edges', color='yellow', width = 3, source = source_jetblue)
tab3 = Panel(child=p_jetblue, title="JetBlue Airways")
# To show in notebook
output_notebook()
hover = HoverTool(
tooltips=[
("Retard", "@arr_delay"),
("Frequence", "@ordonnee")])
p_united.add_tools(hover)
p_express.add_tools(hover)
p_jetblue.add_tools(hover)
s = Span(dimension = 'height', location = 0, line_color = 'purple')
p_united.add_layout(s)
p_united.add_layout(s)
p_jetblue.add_layout(s)
tabs = Tabs(tabs=[tab2,tab1,tab3 ])
show(tabs)`
解决方案
推荐阅读
- spring-boot - 批量插入 jpa 存储库
- c# - 将当前表单实例传递给另一个类
- javascript - 更新电容存储内的值
- variables - 在 Testcafe 中,我们可以在测试用例中声明一个变量并将其用作断言的预期值吗?
- oracle - Oracle - EXP-00001:数据字段截断 - 列长度 = 50,缓冲区大小 = 50 实际大小 = 51
- javascript - 无法在应用程序中接收通知并出现错误
- python - 编写 python 脚本将 CSV 文件转换为 SQL 插入语句
- java - 读取文件时永远不会在正文错误中引发 EOFException
- python - 尝试使用 python 从网络选项卡中通过发布请求刮取 binance json
- firebase - 使用 Cloud Functions 在指定日期发送 Flutter FCM 通知