如何设置x-label以在散景图中显示日期时间?

时间:2017-11-05 07:37:21

标签: python pandas plot bokeh

我有一张Excel表格,我正在从中提取" TIME"和" TEMP"使用pandas库的列。我想绘制温度与时间关系图,我使用了Bokeh图。但是,散景图不会完全显示X轴值。相反,它只显示" TIME"的最后几个字符。列是x轴。请帮忙 -

Python代码 -

import pandas as pd
from bokeh.plotting import figure,output_file,show
from bokeh.models.ranges import Range1d

results=pd.read_excel("test.xls",parse_dates=["TIME"])
print(results['TIME'])

p=figure(plot_width=900,plot_height=500,x_axis_type="datetime",x_axis_label="TIME",y_axis_label="TEMPERATURE" )
p.vbar(x=results["TIME"],top=results["TEMP"],color="red",width=2.4,bottom=0)

p.y_range=Range1d(0,150)
output_file("Scatter_plotting.html")
show(p)

Excel文件 - " test.xls"

eExcel source file

散景图 -

the bokeh plot

如您所见,散景图x轴值未完全绘制。请帮忙。

1 个答案:

答案 0 :(得分:1)

该图表似乎正确显示了您的数据,但您应该检查以确保results['TIME']是Pandas日期时间格式(您的打印语句应在底部显示dtype: datetime64[ns])。

如果格式正确,则可以使用以下内容控制x-ticks:

from bokeh.models import DatetimeTickFormatter

p.xaxis.formatter = DatetimeTickFormatter(hourmin = ['%H:%M']) # Or whatever format you want to use...

请参阅此处的文档:https://bokeh.pydata.org/en/latest/docs/reference/models/formatters.html