コード例 #1
0
def home_handler(document):
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type="datetime",
                  y_range=(0, 25),
                  y_axis_label="Temperature (Celsius)",
                  height=500,
                  width=800,
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line("time", "temperature", source=source)

    slider = Slider(start=0,
                    end=30,
                    value=0,
                    step=1,
                    title="Smoothing by N Days")

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling(f'{new}D').mean()
        source.data = dict(ColumnDataSource(data=data).data)

    slider.on_change("value", callback)

    document.add_root(column(slider, plot))
コード例 #2
0
def modify_doc(doc):
    """
    This functioin will modify the document attached to the application
    """

    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime',
                  y_range=(0, 25),
                  y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource(data=data).data

    slider = Slider(start=0,
                    end=30,
                    value=0,
                    step=1,
                    title="Smoothing by N Days")
    slider.on_change('value', callback)

    doc.add_root(column(slider, plot))

    doc.theme = Theme(filename="theme.yaml")
コード例 #3
0
def bkapp(doc):
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime',
                  y_range=(0, 25),
                  y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource.from_df(data)

    slider = Slider(start=0,
                    end=30,
                    value=0,
                    step=1,
                    title="Smoothing by N Days")
    slider.on_change('value', callback)

    doc.add_root(column(slider, plot))

    #TODO: Fix theme.yaml path, findable from running anywhere.
    doc.theme = Theme(filename=os.path.join(Config.BASEDIR, 'web_app', 'bokeh',
                                            'theme.yaml'))
コード例 #4
0
def bkapp(doc):
    # Define app logic here
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime',
                  y_range=(0, 25),
                  y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource.from_df(data)

    slider = Slider(start=0,
                    end=30,
                    value=0,
                    step=1,
                    title="Smoothing by N Days")
    slider.on_change('value', callback)

    # These should be kept somehow
    doc.add_root(column(slider, plot))

    doc.theme = Theme(filename="theme.yaml")
コード例 #5
0
ファイル: run.py プロジェクト: Filco306/ParkingTicketPredsLA
def bkapp(doc):
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(
        x_axis_type="datetime",
        y_range=(0, 25),
        y_axis_label="Temperature (Celsius)",
        title="Sea Surface Temperature at 43.18, -70.43",
    )
    plot.line("time", "temperature", source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling("{0}D".format(new)).mean()
        source.data = ColumnDataSource(data=data).data

    slider = Slider(start=0,
                    end=30,
                    value=0,
                    step=1,
                    title="Smoothing by N Days")
    slider.on_change("value", callback)

    doc.add_root(column(slider, plot))

    doc.theme = Theme(filename="theme.yaml")
コード例 #6
0
    def modify_doc(self, doc):
        df = sea_surface_temperature.copy()
        source = ColumnDataSource(data=df)

        plot = figure(x_axis_type='datetime',
                      y_range=(0, 25),
                      y_axis_label='Temperature (Celsius)',
                      title="Sea Surface Temperature at 43.18, -70.43")
        plot.line('time', 'temperature', source=source)

        def callback(attr, old, new):
            if new == 0:
                data = df
            else:
                data = df.rolling('{0}D'.format(new)).mean()
            source.data = ColumnDataSource(data=data).data

        slider = Slider(start=0,
                        end=30,
                        value=0,
                        step=1,
                        title="Smoothing by N Days")
        slider.on_change('value', callback)

        doc.add_root(column(slider, plot))
コード例 #7
0
def sea_surface_handler(doc: Document) -> None:
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type="datetime",
                  y_range=(0, 25),
                  y_axis_label="Temperature (Celsius)",
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line("time", "temperature", source=source)

    def callback(attr: str, old: Any, new: Any) -> None:
        if new == 0:
            data = df
        else:
            data = df.rolling("{0}D".format(new)).mean()
        source.data = dict(ColumnDataSource(data=data).data)

    slider = Slider(start=0,
                    end=30,
                    value=0,
                    step=1,
                    title="Smoothing by N Days")
    slider.on_change("value", callback)

    doc.theme = theme
    doc.add_root(column(slider, plot))
コード例 #8
0
def modify_doc(doc):
    flask_args = doc.session_context.request.arguments
    unit_type = flask_args.get('unit_type')[0].decode("utf-8")

    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)
    plot = figure(x_axis_type='datetime',
                  y_range=(0, 25),
                  y_axis_label=f"Temperature ({unit_type})")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource(data=data).data

    slider = Slider(start=0,
                    end=30,
                    value=0,
                    step=1,
                    title="Smoothing by N Days")
    slider.on_change('value', callback)

    doc.add_root(column(slider, plot))
    doc.theme = Theme(filename="theme.yaml")
コード例 #9
0
def bkapp(doc):
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime', y_range=(0, 25),
                  y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource.from_df(data)

    slider = Slider(start=0, end=30, value=0, step=1, title="Smoothing by N Days")
    slider.on_change('value', callback)

    doc.add_root(column(slider, plot))

    doc.theme = Theme(json=yaml.load("""
        attrs:
            Figure:
                background_fill_color: "#DDDDDD"
                outline_line_color: white
                toolbar_location: above
                height: 500
                width: 800
            Grid:
                grid_line_dash: [6, 4]
                grid_line_color: white
    """, Loader=yaml.FullLoader))
コード例 #10
0
def bkapp(doc):
    def handle_comm_message(message):
        print(message)
        print(doc)

    doc.on_comm_req = handle_comm_message
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime',
                  y_range=(0, 25),
                  y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling(f"{new}D").mean()
        source.data = ColumnDataSource.from_df(data)

    slider = Slider(start=0,
                    end=30,
                    value=0,
                    step=1,
                    title="Smoothing by N Days")
    #slider.on_change('value', callback)
    callback2 = CustomJS(code="console.log('wurenxi callback test')")
    slider.js_on_change('value', callback2)

    doc.add_root(column(slider, plot))
コード例 #11
0
def bkapp_red(doc):
    """ Bokeh App

    Arguments:
        doc {Bokeh Document} -- bokeh document

    Returns:
        Bokeh Document --bokeh document with plot and slider
    """
    dataframe = sea_surface_temperature.copy()
    source = ColumnDataSource(data=dataframe)

    plot = figure(x_axis_type='datetime', y_range=(0, 25),
                  y_axis_label='Temperature (Celsius)',
                  title="Red App - Sea Surface Temperature at 43.18, -70.43")
    plot.line(x='time', y='temperature', source=source, line_color='red')

    def callback(_attr, _old, new):
        if new == 0:
            data = dataframe
        else:
            data = dataframe.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource.from_df(data)

    slider = Slider(start=0, end=30, value=0, step=1, title="Application Red")
    slider.on_change('value', callback)

    doc.theme = Theme(filename=os.path.join(cwd(), 'theme.yaml'))
    return doc.add_root(column(slider, plot))
コード例 #12
0
    def __init__(self, **params):
        super(SeaSurface, self).__init__(**params)
        self.df = sea_surface_temperature.copy()
        self.source = ColumnDataSource(data=self.df)

        self.plot = figure(x_axis_type='datetime', y_range=(0, 25), y_axis_label='Temperature (Celsius)',
                title="Sea Surface Temperature at 43.18, -70.43")

        self.plot.line('time', 'temperature', source=self.source)
コード例 #13
0
def bkapp(curdoc):
    import time
    time.sleep(5)

    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime', y_range=(0, 25), y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = data
    plot.sizing_mode = "stretch_both"

    slider = Slider(start=0, end=30, value=0, step=1, title="Smoothing by N Days")
    slider.on_change('value', callback)

    paragraph = Paragraph(text="IOloop's id: %s" % str(id(bokeh_server.io_loop.asyncio_loop)))

    row = pn.Row(slider, plot, name="chart_1")
    row.sizing_mode = "stretch_both"
    row.server_doc(curdoc)

    other_figure = figure(title="Jajaja")
    other_figure.scatter(x=[1,2,3], y=[4,5,6])
    other_figure.sizing_mode = "stretch_both"
    pn.Pane(other_figure, name="chart_2").server_doc(curdoc)

    curdoc.theme = Theme(filename="theme.yaml")

    # Options for Jinja template rendered by the Bokeh Server
    # (as opposed of by Starlette):
    curdoc.template = (Environment(loader=FileSystemLoader(searchpath="templates"))
                       .get_template("index.html")
                       )
    curdoc.template_variables["rendered_by_bokeh_server"] = True
コード例 #14
0
ファイル: tornado_embed.py プロジェクト: alamont/bokeh
def modify_doc(doc):
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime', y_range=(0, 25), y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource(data=data).data

    slider = Slider(start=0, end=30, value=0, step=1, title="Smoothing by N Days")
    slider.on_change('value', callback)

    doc.add_root(column(slider, plot))

    doc.theme = Theme(filename="theme.yaml")
コード例 #15
0
def modify_doc(doc):
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime', y_range=(0, 25), y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    #def callback(attr, old, new):
    #    if new == 0:
    #        data = df
    #    else:
    #        data = df.rolling('{0}D'.format(new)).mean()
    #    source.data = ColumnDataSource(data=data).data

    #slider = Slider(start=0, end=30, value=0, step=1, title="Smoothing by N Days")
    #slider.on_change('value', callback)

    doc.add_root(column(plot))

    doc.theme = Theme(filename='D:/InstrPlatform/DataStation/src/TestScripts/theme.yaml')
コード例 #16
0
def bkapp_table(doc):
    """Create a Table App

    Arguments:
        doc {Document} -- bokeh document

    Returns:
        Document -- updated bokeh document
    """
    data = sea_surface_temperature.copy()
    data.reset_index(inplace=True)
    source = ColumnDataSource(data=data)

    columns = [
        TableColumn(field='time', title='Time', formatter=DateFormatter(format='yy-mm-dd')),
        TableColumn(field='temperature', title='Temperature')
    ]

    data_table = DataTable(source=source, columns=columns, width=400,
                           selectable='checkbox', index_position=None)

    doc.theme = Theme(filename=os.path.join(cwd(), 'theme.yaml'))
    return doc.add_root(data_table)
コード例 #17
0
def add_plot_to_doc(doc):
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime', y_range=(0, 25), y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource.from_df(data)

    slider = Slider(start=0, end=30, value=0, step=1, title="Smoothing by N Days")
    slider.on_change('value', callback)

    doc.add_root(column(slider, plot))

    # Optional, for formatting the plot
    path = Path(__file__).parent
    file_path = (path / "theme.yaml")
    doc.theme = Theme(filename=file_path)
コード例 #18
0
 def __init__(self):
     super(MyHandler, self).__init__()
     self.safe_to_fork = True
     self.df = sea_surface_temperature.copy()
     self.source = ColumnDataSource(data=self.df)
コード例 #19
0
from bokeh.io import curdoc
from bokeh.layouts import column
from bokeh.models import ColumnDataSource, Slider
from bokeh.plotting import figure
from bokeh.sampledata.sea_surface_temperature import sea_surface_temperature

print("F:\django\traimaocv\bokeh_apps\sea_surface.py")
df = sea_surface_temperature.copy()
source = ColumnDataSource(data=df)

plot = figure(x_axis_type="datetime",
              y_range=(0, 25),
              y_axis_label="Temperature (Celsius)",
              title="Sea Surface Temperature at 43.18, -70.43")
plot.line("time", "temperature", source=source)


def callback(attr, old, new):
    if new == 0:
        data = df
    else:
        data = df.rolling(f"{new}D").mean()
    source.data = ColumnDataSource(data=data).data


slider = Slider(start=0, end=30, value=0, step=1, title="Smoothing by N Days")
slider.on_change("value", callback)

doc = curdoc()
doc.add_root(column(slider, plot))