Как сделать линейный график из кадра данных в боке? - PullRequest
0 голосов
/ 29 января 2019

Я читаю файл .csv в bokeh, который имеет два столбца: один для даты и один для значений, соответствующих этой дате.Я пытаюсь сделать линейный график с датами на оси X и значениями на Y, но это не работает.Есть идеи?

КОД:

import pandas as pd
from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource
from datetime import datetime
from bokeh.palettes import Spectral3

output_file('output.html')

df = pd.read_csv('speedgraphak29.csv')
p = figure(x_axis_type="datetime")
p.line(x=df.dates, y=df.windspeed, line_width=2)


show(p)

Возвращается пустой график.Что мне делать?

1 Ответ

0 голосов
/ 29 января 2019

Поскольку вы не предоставили пример входных данных, мне пришлось что-то придумать.Вы, вероятно, забыли указать, что столбец дат следует интерпретировать как значения даты и времени, как отметил bigreddot.Вот рабочий пример:

import pandas as pd
from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource
from datetime import datetime
from bokeh.palettes import Spectral3

output_file('output.html')

df = pd.DataFrame.from_dict({'dates': ["1-1-2019", "2-1-2019", "3-1-2019", "4-1-2019", "5-1-2019", "6-1-2019", "7-1-2019", "8-1-2019", "9-1-2019", "10-1-2019"], 'windspeed': [10, 15, 20,30 , 25, 5, 15, 30, 35, 25]})
df['dates'] = pd.to_datetime(df['dates'])
source = ColumnDataSource(df)
p = figure(x_axis_type="datetime")
p.line(x='dates', y='windspeed', line_width=2, source=source)

show(p)
...