def line_advanced():

    source = ColumnDataSource(data=dict(x=x,y=y,z=z,widths=widths,
                heights=heights))
    
    xdr = DataRange1d(sources=[source.columns("x")])
    xdr2 = DataRange1d(sources=[source.columns("x")])
    ydr = DataRange1d(sources=[source.columns("y")])
    ydr2 = DataRange1d(sources=[source.columns("y")])
    
    line_glyph = Line(x="x", y="y", line_color="blue")
    
    renderer = GlyphRenderer(data_source = source,  xdata_range = xdr,
            ydata_range = ydr, glyph = line_glyph)
    pantool = PanTool(dataranges = [xdr, ydr], dimensions=["width","height"])
    zoomtool = ZoomTool(dataranges=[xdr,ydr], dimensions=("width","height"))
    
    plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source], 
            border=50)
    plot.tools = [pantool, zoomtool]
    plot.renderers.append(renderer)
    
    #notice that these two have a differen y data range
    renderer2 = GlyphRenderer(data_source = source, xdata_range = xdr,
            ydata_range = ydr2, glyph = line_glyph)
    
    plot2 = Plot(x_range=xdr, y_range=ydr2, data_sources=[source], 
            border=50)
    
    plot2.renderers.append(renderer2)
    
    #notice that these two have a differen y data range
    renderer3 = GlyphRenderer(data_source = source, xdata_range = xdr2,
            ydata_range = ydr, glyph = line_glyph)
    
    plot3 = Plot(x_range=xdr2, y_range=ydr, data_sources=[source], 
            border=50)
    
    plot3.renderers.append(renderer3)
    
    #this is a dummy plot with no renderers
    plot4 = Plot(x_range=xdr2, y_range=ydr, data_sources=[source], 
            border=50)
    
    
    sess = session.HTMLFileSession("line_linked_advanced.html")
    sess.add(plot, renderer, source, xdr, ydr, pantool, zoomtool)
    
    sess.add(plot2, renderer2, ydr2, xdr2, renderer3, plot3, plot4)
    grid = GridPlot(children=[[plot, plot2], [plot3, plot4 ]], name="linked_advanced")
    
    sess.add(grid)
    sess.plotcontext.children.append(grid)
    
    
    sess.save(js="relative", css="relative", rootdir=os.path.abspath("."))
    print "Wrote line_linked_advanced.html"
    
        webbrowser.open("file://" + os.path.abspath("line_linked_advanced.html"))
Ejemplo n.º 2
0
county_renderer = Glyph(
        data_source = county_source,
        xdata_range = xdr,
        ydata_range = ydr,
        glyph = county_patches,
        )

state_renderer = Glyph(
        data_source = state_source,
        xdata_range = xdr,
        ydata_range = ydr,
        glyph = state_patches,
        )

plot = Plot(x_range=xdr, y_range=ydr, data_sources=[state_source, county_source], min_border=0, border_fill="white", title="2009 Unemployment Data", width=1300, height=800)

resizetool = ResizeTool(plot=plot)

plot.renderers.append(county_renderer)
plot.renderers.append(state_renderer)
plot.tools = [resizetool]

sess = session.HTMLFileSession("choropleth.html")
sess.add_plot(plot)

if __name__ == "__main__":
    sess.save()
    print("Wrote %s" % sess.filename)
    sess.view()
Ejemplo n.º 3
0
Archivo: maps.py Proyecto: zazu94/bokeh
pantool = PanTool(plot=plot)
wheelzoomtool = WheelZoomTool(plot=plot)
objectexplorer = ObjectExplorerTool()
plot.tools.extend([pantool, wheelzoomtool, objectexplorer])

# Plot some data on top
source = ColumnDataSource(data=dict(lat=[30.2861, 30.2855, 30.2869],
                                    lon=[-97.7394, -97.7390, -97.7405],
                                    fill=['orange', 'blue', 'green']))

circle_renderer = Glyph(data_source=source,
                        xdata_range=x_range,
                        ydata_range=y_range,
                        glyph=Circle(x="lon",
                                     y="lat",
                                     fill_color="fill",
                                     size=15,
                                     radius_units="screen",
                                     line_color="black"))
plot.data_sources.append(source)
plot.renderers.append(circle_renderer)

sess = session.HTMLFileSession("maps.html")
sess.add_plot(plot)

if __name__ == "__main__":
    sess.save()
    print("Wrote %s" % sess.filename)
    sess.view()
Ejemplo n.º 4
0
circle = Circle(x="x", y="y", fill_color="red", radius=5, line_color="black")

glyph_renderer = GlyphRenderer(
    data_source=source,
    xdata_range=xdr,
    ydata_range=ydr,
    glyph=circle,
)

plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source], border=80)
xaxis = LinearAxis(plot=plot, dimension=0, location="min")
yaxis = LinearAxis(plot=plot, dimension=1, location="min")

pantool = PanTool(dataranges=[xdr, ydr], dimensions=["width", "height"])
zoomtool = ZoomTool(dataranges=[xdr, ydr], dimensions=("width", "height"))

plot.renderers.append(glyph_renderer)
plot.tools = [pantool, zoomtool]

sess = session.HTMLFileSession("circle.html")
sess.add(plot, glyph_renderer, xaxis, yaxis, source, xdr, ydr, pantool,
         zoomtool)
sess.plotcontext.children.append(plot)
sess.save(js="relative", css="relative", rootdir=os.path.abspath("."))
print "Wrote circle.html"
try:
    import webbrowser
    webbrowser.open("file://" + os.path.abspath("circle.html"))
except:
    pass
Ejemplo n.º 5
0
glyph_renderer = GlyphRenderer(
        data_source = source,
        xdata_range = xdr,
        ydata_range = ydr,
        glyph = circle,
        )

plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source],
        border= 80)
xaxis = LinearAxis(plot=plot, dimension=0, location="min")
yaxis = LinearAxis(plot=plot, dimension=1, location="min")

pantool = PanTool(dataranges = [xdr, ydr], dimensions=["width","height"])
zoomtool = ZoomTool(dataranges=[xdr,ydr], dimensions=("width","height"))

plot.renderers.append(glyph_renderer)
plot.tools = [pantool,zoomtool]

sess = session.HTMLFileSession("glyph1.html")
sess.add(plot, glyph_renderer, xaxis, yaxis, source, xdr, ydr, pantool, zoomtool)
sess.plotcontext.children.append(plot)
sess.save(js="relative", css="relative", rootdir=os.path.abspath("."))
sess.dumpjson(file="glyph1.json")
print "Wrote glyph1.html"
try:
    import webbrowser
    webbrowser.open("file://" + os.path.abspath("glyph1.html"))
except:
    pass
plot.renderers.append(renderer)

renderer2 = GlyphRenderer(data_source=source,
                          xdata_range=xdr,
                          ydata_range=ydr,
                          glyph=line_glyph)

plot2 = Plot(x_range=xdr, y_range=ydr, data_sources=[source], border=50)
pantool2 = PanTool(dataranges=[xdr, ydr], dimensions=["width", "height"])
zoomtool2 = ZoomTool(dataranges=[xdr, ydr], dimensions=("width", "height"))

plot2.renderers.append(renderer2)
plot2.tools = [pantool2, zoomtool2]

sess = session.HTMLFileSession("line_linked.html")
sess.add(plot, renderer, source, xdr, ydr)
sess.plotcontext.children.append(plot)

sess.add(plot2, renderer2, pantool2, zoomtool2)
sess.plotcontext.children.append(plot2)

sess.save(js="relative", css="relative", rootdir=os.path.abspath("."))
print "Wrote line_linked.html"

try:
    import webbrowser
    webbrowser.open("file://" + os.path.abspath("line_linked.html"))
except:
    pass
Ejemplo n.º 7
0
plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source], border=80)
xaxis = LinearAxis(plot=plot, dimension=0)
yaxis = LinearAxis(plot=plot, dimension=1)
xgrid = Rule(plot=plot, dimension=0)
ygrid = Rule(plot=plot, dimension=1)

plot.renderers.append(glyph_renderer)
plot.tools = [pantool, zoomtool]

import sys

demo_name = "line"
if len(sys.argv) > 1 and sys.argv[1] == "server":
    sess = session.PlotServerSession(username="******",
                                     serverloc="http://localhost:5006",
                                     userapikey="nokey")
    sess.use_doc(demo_name)
    sess.add(plot, glyph_renderer, xaxis, yaxis, xgrid, ygrid, source, xdr,
             ydr, pantool, zoomtool)
    sess.store_all()
    print "Stored to document", demo_name
else:
    filename = demo_name + ".html"
    sess = session.HTMLFileSession(filename)
    sess.server_static_dir = "../bokeh/server"
    sess.add(plot, glyph_renderer, xaxis, yaxis, xgrid, ygrid, source, xdr,
             ydr, pantool, zoomtool)
    sess.save(js="relative", css="relative", rootdir=os.path.abspath("."))
    print "Wrote", filename
Ejemplo n.º 8
0
glyph_renderer = Glyph(
        data_source = source,
        xdata_range = xdr,
        ydata_range = ydr,
        glyph = circle,
        )

plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source], border=80, title="Iris Data")
xaxis = LinearAxis(plot=plot, dimension=0, location="min",
        axis_label="petal length", bounds=(1,7), major_tick_in=0)
yaxis = LinearAxis(plot=plot, dimension=1, location="min",
        axis_label="petal width", bounds=(0,2.5), major_tick_in=0)
xgrid = Grid(plot=plot, dimension=0)
ygrid = Grid(plot=plot, dimension=1)

pantool = PanTool(dataranges = [xdr, ydr], dimensions=["width","height"])
wheelzoomtool = WheelZoomTool(dataranges=[xdr,ydr], dimensions=("width","height"))

plot.renderers.append(glyph_renderer)
plot.tools = [pantool,wheelzoomtool]

sess = session.HTMLFileSession("iris.html")
sess.add(plot, recursive=True)
sess.plotcontext.children.append(plot)
sess.save(js="absolute", css="absolute")
print("Wrote %s" % sess.filename)

if __name__ == "__main__":
    sess.view()
Ejemplo n.º 9
0
        ])

xdr = DataRange1d(sources=[source.columns("x")])
ydr = DataRange1d(sources=[source.columns("y")])

line_renderer = LineRenderer(
        data_source = source,
        xdata_range = xdr,
        ydata_range = ydr,
        color = "red",
        xfield = "x",
        yfield = "y",
        )

plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source])
xaxis = LinearAxis(orientation="bottom", data_range=xdr)
yaxis = LinearAxis(orientation="left", data_range=ydr)

plot.axes = [xaxis, yaxis]
plot.renderers = [line_renderer]

sess = session.HTMLFileSession("glyph_line.html")
sess.server_static_dir="../bokeh/server"
sess.add(plot, line_renderer, xaxis, yaxis, source, xdr, ydr)
sess.save(js="relative", css="relative", rootdir=os.path.abspath("."))





Ejemplo n.º 10
0
    # the SVG named 147 colors, or a hex color string starting with "#",
    # or a string "rgb(r,g,b)" or "rgba(r,g,b,a)".
    # Any other string will be interpreted as a field name to look up
    # on the datasource.
    line_color="black")

glyph_renderer = Glyph(
    data_source=source,
    xdata_range=xdr,
    ydata_range=ydr,
    glyph=circle,
)

plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source], min_border=80)
xaxis = LinearAxis(plot=plot, dimension=0, location="min")
yaxis = LinearAxis(plot=plot, dimension=1, location="min")

pantool = PanTool(dimensions=["width", "height"])
wheelzoomtool = WheelZoomTool(dimensions=["width", "height"])

plot.renderers.append(glyph_renderer)
plot.tools = [pantool, wheelzoomtool]

sess = session.HTMLFileSession("colorspec.html")
sess.add_plot(plot)

if __name__ == "__main__":
    sess.save()
    print("Wrote %s" % sess.filename)
    sess.view()
Ejemplo n.º 11
0
    yaxis = LinearAxis(plot=plot, dimension=1, location="left")
    pantool = PanTool(dataranges=[xdr, ydr], dimensions=["width", "height"])
    wheelzoomtool = WheelZoomTool(dataranges=[xdr, ydr],
                                  dimensions=("width", "height"))
    renderer = Glyph(
        data_source=source,
        xdata_range=xdr,
        ydata_range=ydr,
        glyph=Line(x=xname, y=yname, linecolor=linecolor),
    )
    plot.renderers.append(renderer)
    plot.tools = [pantool, wheelzoomtool]
    return plot


plot1 = make_plot(source, "x", "y1", "blue")
plot2 = make_plot(source, "x", "y2", "red", xdr=plot1.x_range)
plot3 = make_plot(source, "x", "y3", "green")
plot4 = make_plot(source, "x", "y4", "black")

grid = GridPlot(children=[[plot1, plot2], [plot3, plot4]])

sess = session.HTMLFileSession("grid.html")
sess.add(grid, recursive=True)
sess.plotcontext.children.append(grid)
sess.save(js="absolute", css="absolute")
print("Wrote %s" % sess.filename)

if __name__ == "__main__":
    sess.view()
Ejemplo n.º 12
0
    data_source=source,
    xdata_range=xdr,
    ydata_range=ydr,
    glyph=circle,
)

plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source], border=80)
xaxis = DatetimeAxis(plot=plot, dimension=0, location="min")
yaxis = LinearAxis(plot=plot, dimension=1, location="min")

pantool = PanTool(dataranges=[xdr, ydr], dimensions=["width", "height"])
zoomtool = ZoomTool(dataranges=[xdr, ydr], dimensions=("width", "height"))

plot.renderers.append(glyph_renderer)
plot.tools = [pantool, zoomtool]

FILENAME = __file__.replace(".py", ".html")
sess = session.HTMLFileSession(FILENAME)
sess.add(plot, glyph_renderer, source, xaxis, yaxis, xdr, ydr, pantool,
         zoomtool)
sess.plotcontext.children.append(plot)
sess.save(js="relative", css="relative", rootdir=os.path.abspath("."))
sess.dumpjson(file=__file__.replace(".py", ".json"))
print "Wrote " + FILENAME
try:
    import webbrowser

    webbrowser.open("file://" + os.path.abspath(FILENAME))
except:
    pass
Ejemplo n.º 13
0
                     radius=6,
                     fill_color="#cc6633",
                     line_color="#cc6633",
                     fill_alpha=0.5),
    )
    plot.renderers.append(circle_renderer)
    return plot, (line_renderer, circle_renderer, xaxis, yaxis, xgrid, ygrid)


#where will this comment show up
I, objsI = make_plot('I', 'xi', 'yi')
II, objsII = make_plot('II', 'xii', 'yii')
III, objsIII = make_plot('III', 'xiii', 'yiii')
IV, objsIV = make_plot('IV', 'xiv', 'yiv')

grid = GridPlot(children=[[I, II], [III, IV]], width="800px")

sess = session.HTMLFileSession("anscombe.html")
sess.add(lines_source, circles_source, xdr, ydr)
sess.add(*(objsI + objsII + objsIII + objsIV))
sess.add(grid, I, II, III, IV)
sess.plotcontext.children.append(grid)
sess.save(js="relative", css="relative", rootdir=os.path.abspath("."))

if __name__ == "__main__":
    try:
        import webbrowser
        webbrowser.open("file://" + os.path.abspath("anscombe.html"))
    except:
        pass
Ejemplo n.º 14
0
ydr = DataRange1d(sources=[source.columns("y")])

line_glyph = Line(x="x", y="y", line_color="blue")

renderer = Glyph(
        data_source = source,
        xdata_range = xdr,
        ydata_range = ydr,
        glyph = line_glyph
        )

plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source],
        border=50)
xaxis = LinearAxis(plot=plot, dimension=0, location="bottom")
yaxis = LinearAxis(plot=plot, dimension=1, location="left")

pantool = PanTool(dataranges = [xdr, ydr], dimensions=["width","height"])
wheelzoomtool = WheelZoomTool(dataranges=[xdr,ydr], dimensions=("width","height"))

plot.renderers.append(renderer)
plot.tools = [pantool, wheelzoomtool]

sess = session.HTMLFileSession("line.html")
sess.add(plot, recursive=True)
sess.plotcontext.children.append(plot)
sess.save(js="absolute", css="absolute")
print("Wrote %s" % sess.filename)

if __name__ == "__main__":
    sess.view()
Ejemplo n.º 15
0
circle = Circle(x="times", y="y", fill_color="red", size=5, line_color="black")

glyph_renderer = Glyph(
    data_source=source,
    xdata_range=xdr,
    ydata_range=ydr,
    glyph=circle,
)

plot = Plot(x_range=xdr, y_range=ydr, data_sources=[source], border=80)
xaxis = DatetimeAxis(plot=plot, dimension=0, location="min")
yaxis = LinearAxis(plot=plot, dimension=1, location="min")

pantool = PanTool(dataranges=[xdr, ydr], dimensions=["width", "height"])
wheelzoomtool = WheelZoomTool(dataranges=[xdr, ydr],
                              dimensions=("width", "height"))

plot.renderers.append(glyph_renderer)
plot.tools = [pantool, wheelzoomtool]

sess = session.HTMLFileSession("dateaxis.html")
sess.add(plot, recursive=True)
sess.plotcontext.children.append(plot)
sess.save(js="absolute", css="absolute")
sess.dumpjson(file="dateaxis.json")
print("Wrote %s" % sess.filename)

if __name__ == "__main__":
    sess.view()
Ejemplo n.º 16
0
                    text_align="center",
                    text_font_size="28pt")
        text_renderer = GlyphRenderer(
            data_source=text_source,
            xdata_range=xdr,
            ydata_range=ydr,
            glyph=text,
        )
        plot.data_sources.append(text_source)
        plot.renderers.append(text_renderer)
        objs.append(text_renderer)
        objs.append(text_source)
    return plot, objs + [circle_renderer, xgrid, ygrid]


sess = session.HTMLFileSession("iris_splom.html")
attrs = ["petal_length", "petal_width", "sepal_width", "sepal_length"]

plots = []
for y in attrs:
    row = []
    for x in attrs:
        xax = (y == attrs[-1])
        yax = (x == attrs[0])
        text = x if (x == y) else None
        plot, objs = make_plot(x, y, xax, yax, text)
        sess.add(plot, *objs)
        row.append(plot)
    plots.append(row)

grid = GridPlot(children=plots, name="iris_splom")
Ejemplo n.º 17
0
xgrid = Grid(plot=plot, dimension=0)
ygrid = Grid(plot=plot, dimension=1)

plot.renderers.append(glyph_renderer)
plot.tools = [pantool, wheelzoomtool]

demo_name = "line2"
if len(sys.argv) > 1 and sys.argv[1] == "server":
    try:
        sess = session.PlotServerSession(serverloc="http://localhost:5006",
                                         username="******",
                                         userapikey="nokey")
    except requests.exceptions.ConnectionError:
        print(
            "ERROR: This example requires the plot server. Please make sure plot server is running, by executing 'bokeh-server'"
        )
        sys.exit(1)

    sess.use_doc(demo_name)
    sess.add(plot, recursive=True)
    sess.plotcontext.children.append(plot)
    sess.plotcontext._dirty = True
    sess.store_all()
    print("Stored to document", demo_name)
else:
    sess = session.HTMLFileSession(demo_name + ".html")
    sess.add(plot, recursive=True)
    sess.plotcontext.children.append(plot)
    sess.save(js="absolute", css="absolute")
    print("Wrote %s" % sess.filename)