问题
我正在尝试创建一个图表,以显示沿时间轴的多个“事件”。例如,在01-01-2018记录了一次伤害。我希望能够记录一系列不同类别的信息。但是,我目前的尝试只是创建一个空白图表-因此,我认为我在某个地方弄得一团糟,我会喜欢一些指针。
代码
from bokeh.plotting import figure
from bokeh.io import output_file, show, save
import pandas
from bokeh.models import ColumnDataSource
# output file
output_file=("justanotheroutput.html")
# constants
CATEGORIES = ['bed', 'injury', 'incident']
# get data source
df=pandas.read_csv("data.csv")
source = ColumnDataSource(df)
# create figure
f=figure(y_range=CATEGORIES, x_axis_type='datetime')
# create glyph
f.circle(x='date', y='category', source=source)
show(f)
我的虚拟数据
我当前的输出
答案 0 :(得分:1)
对于日期时间轴,Bokeh希望坐标值是真实的日期时间类型。有多种方法可以完成此操作,但最简单的方法可能是告诉Pandas应将哪一列视为日期时间。这是一个基于数据子集的完整示例(问题的FYI图像远比包含真实数据少有用):
import pandas as pd
from bokeh.plotting import figure, show
CATEGORIES = ['bed', 'injury', 'incident']
# use parse_dates to tell pandas which cols are datetimes
df = pd.read_csv("data.csv", parse_dates=['date'])
f = figure(y_range=CATEGORIES, x_axis_type='datetime')
f.circle(x='date', y='category', size=20, source=df)
show(f)