python - 如何使用 Bokeh datetimetickformatter 自定义刻度

标签 python bokeh

我对 python 比较陌生,我正在使用 bokeh 创建一个绘制一些时间序列数据的 html 文件。

我想将 x 轴刻度格式化为“DD/MM HH:SS”。我正在编写代码的简化版本:

from bokeh.plotting import figure, output_file, save, show
from bokeh.models import DatetimeTickFormatter
import datetime as dt
t=[dt.datetime(2017, 1, 9, 16, 14, 10),dt.datetime(2017, 1, 9, 16, 15, 20)]
Temp=[200,210]
output_file("Burner SPC test.html")
p1=figure(title="Tip1 TC", x_axis_label="Time", y_axis_label="Temp Diff", x_axis_type="datetime")
p1.line(t,Temp)
p1.xaxis.formatter=DatetimeTickFormatter(formats=dict(
days=["%??"],
months=["%??"],
hours=["%???"],
minutes=["%???"])) #not sure how to format here to get the desired output
show(p1)

非常感谢任何帮助。 提前致谢。

最佳答案

DateTimeTickFormatter 不再期待字典(如 bigreddot here 所述)。在我的 Bokeh 版本 (1.0.4) 中,它通过删除“formats=dict()”并提供格式字符串来工作。

p1.xaxis.formatter=DatetimeTickFormatter(days="%m/%d %H:%M",
months="%m/%d %H:%M",
hours="%m/%d %H:%M",
minutes="%m/%d %H:%M")

两者都可以。对所有这些使用相同的格式字符串,或使用单独的格式字符串。放大时轴的格式会调整。

from bokeh.plotting import figure, output_file, save, Show
from bokeh.models import DatetimeTickFormatter
import datetime as dt
import datetime as dt
t=[dt.datetime(2017, 1, 9, 16, 14, 10),dt.datetime(2017, 1, 10, 17, 15, 20)]
Temp=[200,210]
output_file("Burner SPC test.html")
p1=figure(title="Tip1 TC", x_axis_label="Time", y_axis_label="Temp Diff", x_axis_type="datetime")
p1.line(t,Temp)
p1.xaxis.formatter=DatetimeTickFormatter(days="%m/%d",
hours="%H",
minutes="%H:%M")
show(p1)

关于python - 如何使用 Bokeh datetimetickformatter 自定义刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41579840/

相关文章:

python - Bokeh 在 GridPlot 中叠加多个绘图对象

python - 如何使用 Python 和 xarray 从变量满足 netCDF 数据集标准的位置提取坐标?

python - 在Python中对上下文中的多个多词短语进行分类的NLP策略

javascript - Bokeh 服务器获取鼠标位置

python - 如何在同一个 HTML 页面中包含使用 Three.js 的 3D 可视化以及 Bokeh 图?

python - Django 网站中的 Bokeh 渲染问题

python - 无法在 Ubuntu 14.04 上绘制直方图

python - pandas - 有效计算组合算术

Python,引用与运行文件同目录下的一个文件

python - 获取 HDF5 内容列表(Pandas HDFStore)