Data is typically passed to bokehjs through a ColumnDataSource which has named columns
of data that are available to glyph renderers. Note that all the columns in a given
ColumnDataSource should have the same length. It is possible and often necessary to have
different data sources for different renderers.
Warning
JavaScript null values are not valid inputs to BokehJS renderers. Please be aware that they will be silently interpreted as zero.
BokehJS exposes all the standard HTML5 canvas path stroking properties. All of these
properties may take single values, or references to vectors of data. For instance, it
is possible to draw multiple rectangles at once using the rect glyph. They may
all be given the same line_width or each rectangle may be given its own line_width.
line_colorline_widthline_alphaline_joinhow path segments should be joined together
line_caphow path segments should be terminated
line_dashline_dash_offsetline_dash that the pattern should start fromBokehJS exposes all the standard HTML5 path filling properties. All of these properties
may take single values, or references to vectors of data. For instance, it is possible to
draw multiple rectangles at once using the rect glyph. They may all be given the same
fill_width, or each rectangle may be given its own fill_width.
fill_colorfill_alphaBokehJS exposes most of the standard HTML5 text properties. All of these properties
may take single values, or references to vectors of data. For instance, it is possible to
draw multiple text items at once using the text glyph. They may all be given the same
font_size or each line of text may be given its own font_size.
text_font'times', 'helvetica'text_font_size'12pt', '1.5em'text_font_stylefont style to use
'normal' normal text'italic' italic text'bold' bold texttext_colortext_alphatext_align'left', 'right', 'center'text_baselinevertical anchor point for text
'top''middle''bottom''alphabetic''hanging'Note
There is currently only support for filling text. An interface to stroke the outlines of text has not yet been exposed.
Markers are a subset of BokehJS glyphs that have a uniform interface and are suitable for simple scatter type plots. All markers expose the following fields:
x, y - center point coordinatessize - screen unitsand have Line Properties and Fill Properties as appropriate.
Bokeh plots are centered around glyphs, which generally have some combination of line, fill, or
text properties, depending on what is appropriate for a given glyph. For example, the Circle
glyph has both line and fill properties, but the Bezier glyph only has line properties.
Note
Each of the glyph images below links to a live JSFiddle.
annular_wedge¶The annular_wedge glyph displays annular wedges centered at the given coordinates with the
corresponding start_radius, end_radius,  start_angle and end_angle.
Note
the direction field may be used to indicate which direction the drawing should occur between start_radius and end_radius.
x, y - center point coordinatesstart_radiusend_radiusstart_angleend_angledirection'clock', 'anticlock''anticlock' 
annulus¶The annulus glyph displays annular rings centered at the given coordinates with the
corresponding start_radius and end_radius.
x, y - center point coordinatesstart_radiusend_radius 
arc¶The annulus glyph displays circular line arcs centered at the given coordinates with the
corresponding radius, start_angle and end_angle.
Note
the direction field may be used to indicate which direction the drawing should occur between start_radius and end_radius.
x, y - center point coordinatesradiusstart_angleend_angledirection'clock' or 'anticlock']'anticlock' 
asterisk¶The asterisk glyph is a marker that displays asterisks at the given coordinates.
x, y - center point coordinatessize 
bezier¶The bezier glyph displays Bezier curves with the given starting, ending, and control points.
x0, y0 - starting point coordinatesx1, y1 - ending point coordinatescx0, cy0 - first control point coordinatescx1, cy1 - second control point coordinates 
circle¶The circle glyph has two forms, a marker form that takes a size
field or a non-marker form that takes a radius field.
| 
 | 
 | 
 
circle_cross¶The circle_cross glyph is a marker that displays circles together with a crossbar (+) at the given coordinates.
x, y - center point coordinatessize 
circle_x¶The circle_x glyph is a marker that displays circles together with an X at the given coordinates.
x, y - center point coordinatessize 
cross¶The cross glyph is a marker that displays crossbar symbols (+) at the given coordinates.
x, y - center point coordinatessize 
diamond¶The diamond glyph is a marker that displays diamonds at the given coordinates.
x, y - center point coordinatessize 
diamond_cross¶The diamond_cross glyph is a marker that displays diamonds together with a crossbar (+) at the given coordinates.
x, y - center point coordinatessize 
image¶The image glyph has two forms. The first form takes each image as a one-dimensional
array of scalar values together with rows and cols fields that describe the two-dimensional
shape of the array. The second form takes each image as a”array of arrays” (assumed to be
non-ragged) and the shape is inferred automatically. A palette (string name of a built-in
palette, currently) must also be supplied to use for color-mapping the scalar image.
Note
The image glyph is vectorized like other glyphs, i.e. it may be used to display several images at once.
Warning
The second (2D) form is significantly less efficient. It is currently used by the python interface to send data to the browser, but may be deprecated in the future.
| 
 | 
 | 
 
image_rgba¶The image_rgba glyph has two forms. The first form takes each image as a one-dimensional
array of RGBA values (encoded as 32-bit integers) together with rows and cols fields
that describe the two-dimensional shape of the array. The second form takes each image as a
“array of arrays” (assumed to be non-ragged) and the shape is inferred automatically.
Note
The image_rgba glyph is vectorized like other glyphs, i.e. it may be used to display several images at once.
Warning
The second (2D) form is significantly less efficient. It is currently used by the python interface to send data to the browser, but may be deprecated in the future.
| 
 | 
 | 
 
image_url¶The image_url glyph accepts the URLs of an images to display. The images are centered on the given coordinates and rotated by the given angles.
x, y - center point coordinatesurlangleinverted_triangle¶The inverted_triangle glyph is a marker that displays upside-down triangles at the given coordinates.
x, y - center point coordinatessize 
line¶The line glyphs displays a single line that connects several points given by the arrays
of coordinates x and y.
x, y - line coordinates 
multi_line¶The multi_line glyphs displays several lines, each with points given by the arrays of
coordinates that are the elements of xs and ys. This glyph is especially useful for
implementing parallel coordinates plots, or plotting several aligned series simultaneously.
Note
For this glyph, the vector data is not simply an array of scalars, it is really an “array of arrays”.
xs, ys - lists of line coordinates 
oval¶The oval glyph displays ovals centered on the given coordinates with the given dimensions and angle.
x, y - center point coordinateswidthheightangle 
patch¶The line glyphs displays a single polygonal patch that connects several points given by the arrays
of coordinates x and y.
x, y - coordinates 
patches¶The patches glyphs displays several patches, each with points given by the arrays of
coordinates that are the elements of xs and ys. This glyph is especially useful for
implementing stacked area charts and cartograms.
Note
For this glyph, the vector data is not simply an array of scalars, it is really an “array of arrays”.
xs, ys - lists of coordinates 
quad¶The quad glyph displays axis-aligned rectangles with the given dimensions.
leftrighttopbottom 
quadratic¶The quadratic glyph displays quadratic curves with the given starting, ending, and control points.
x0, y0 - starting point coordinatesx1, y1 - ending point coordinatescx, cy - control point coordinates 
ray¶The ray glyph displays line segments starting at the given coordinate and extending the given
length at the given angle.
x0, y0 - starting point coordinateslength - screen unitsangle 
rect¶The rect glyph displays rectangles centered on the given coordinates with the given dimensions and angle.
x, y - center point coordinateswidthheightangle 
segment¶The segment glyph displays line segments with the given starting and ending coordinates.
x0, y0 - starting point coordinatesx1, y1 - ending point coordinates 
square¶The square glyph is a marker that displays squares at the given coordinates.
x, y - center point coordinatessize 
square_cross¶The square_cross glyph is a marker that displays squares together with a crossbar (+) at the given coordinates.
x, y - center point coordinatessize 
square_x¶The square_x glyph is a marker that displays squares together with an X at the given coordinates.
x, y - center point coordinatessize 
text¶The text glyph displays text at the given coordinates rotated by the given angle. The location of the coordinates relative to the text is indicated by the text properties.
x, y - text coordinates (positioning determined by text properties)textangle 
triangle¶The triangle glyph is a marker that displays triangles at the given coordinates.
x, y - center point coordinatessize 
wedge¶The annular_wedge glyph displays circular wedges centered at the given coordinates with the
corresponding radius,  start_angle and end_angle.
Note
the direction field may be used to indicate which direction the drawing should occur between start_radius and end_radius.
x, y - center point coordinatesradiusstart_angleend_angledirection'clock' or 'anticlock']'anticlock' 
x¶The x glyph is a marker that displays X symbols at the given coordinates.
x, y - center point coordinatessize