Почему x_range_type 'datetime' не работает только с одним глифом / точкой данных? - PullRequest
0 голосов
/ 20 марта 2020

Я использую datetime в качестве параметра x_axis_type на моем графике. Он отлично работает, когда на моем графике несколько глифов.

keh

Однако, когда я делаю другой график только с одним глифом, тикер x отображается как (мили?) секунд, а не даты и времени, несмотря на то, что x_axis_type остается прежним.

enter image description here

Конечно, есть простое исправление, о котором я не знаю?

Заранее благодарим.

Полный (ipynb) код:

from bokeh.plotting import figure, show
from bokeh.io import output_notebook
import pandas as pd

output_notebook()

df = pd.read_csv('my_data.csv')

df['Created'] = pd.to_datetime(df['Created'], utc=True)

plot = figure(x_axis_type='datetime')
plot.circle(df['Created'], df['Incident Duration MTTR Mins'])
show(plot)


# Second plot, this time only with one glyph
plot2 = figure(x_axis_type='datetime')
plot2.circle(df['Created'][0], df['Incident Duration MTTR Mins'][0])

show(plot2)

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Это потому, что диапазон по умолчанию является экземпляром DataRange1d, и если у вас недостаточно точек для определения диапазона данных, он будет использовать значение по умолчанию 2 (в данном случае, миллисекунды).

0 голосов
/ 20 марта 2020

Мне удалось найти решение:

from bokeh.models import DatetimeTickFormatter

...

plot2.xaxis.formatter=DatetimeTickFormatter(microseconds=["%Y-%m-%d"])
...