Python Bokeh Выбор реализации виджета с помощью csvfiles - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть список CSV-файлов, и я хочу, чтобы он обновлял график, используя Selected Widget. Я посмотрел на примеры на сайте боке и до сих пор не могу понять это. Как бы я внедрил этот виджет «Выбрать» в существующий код, чтобы обновить график, используя соответствующий CSV-файл?

import pandas as pd
import numpy as np
import datetime

from bokeh.layouts import row, widgetbox, column
from bokeh.models import ColumnDataSource, PrintfTickFormatter
from bokeh.models.widgets import PreText, Select,  RangeSlider, Button, DataTable, TableColumn, NumberFormatter
from bokeh.io import curdoc, show, reset_output
from bokeh.plotting import figure, output_file

DEFAULT_TICKERS = ['AAPL','GOOG','TSLA']
selector1 = Select(value='AAPL', options= DEFAULT_TICKERS)

#def selector1_change(attr, old, new):

#def update():

def load_ticker(ticker):
    #reads file name 
    fname = ( '%s.csv' % ticker.lower())
    #parses the data into columns and types
    #assigns dates to index of each column of data
    data = pd.read_csv( fname, header = None, parse_dates = ['Date'],
                  names =['Date','Open','High','Low','Close','Adj Close','Volume'])
    #use the commpand: print(data) -to see results and organization
    return pd.DataFrame(data)

x = load_ticker(selector1.value)    
source = ColumnDataSource(x)

#date vs close graph
p = figure(plot_width = 800, plot_height = 300, x_axis_type = 'datetime')
p.line('Date', 'Close', source = source, line_color = '#2171b5')

layout = column(selector1, p)

curdoc().add_root(layout)
curdoc().title = "Stock Example test"
...