R Interface for Bokeh

A native R plotting library that provides a flexible declarative interface for creating interactive web-based graphics, backed by the Bokeh visualization library < http://bokeh.pydata.org/>.

A native R plotting library that provides a flexible declarative interface for creating interactive web-based graphics, backed by the Bokeh visualization library.

# from CRAN:
# from packages.deltarho.org:
options(repos = c(deltarho = "http://packages.deltarho.org", getOption("repos")))
# from github:

Please see here.


  • Add spinner for long-loading figures
  • Set default height/width if one or the other is specified
  • Remove resize tool as default
  • Make theme_ functions propagate across grid plot figures
  • Add theme_title to address issue with title props being moved to new element
  • Remove logo by default in grid plot
  • Fix bug in grid plot height calculation
  • Fix parameter in grid_plot
  • Fix issue with multiple mapped attributes and legend
  • Fix issue with bezier legend
  • Fix bug when using custom axes in grid plots
  • Update to BokehJS 0.12.2
  • Add background fill options to theme_legend
  • Add boxplot test using outlier_glyph=NA and remove superfluous boxplot tests
  • Outlier points in ly_boxplot can be customized
  • Replace do.call's with explicit function calls in ly_boxplot (thanks Steve Lianoglou)
  • Add code coverage
  • Add many more tests for good coverage
  • Update and add examples to docs
  • Add example for point_types
  • Update boxplot to work correctly with both numeric axes and add stat examples
  • Fix bug in html output dimension specification
  • Use independent data source for CRAN packages example in vignette
  • Fix bug in axis updates with num_minor_ticks
  • Fix background and border fill color/alpha
  • Update widget2png to return any JS error messages as string
  • Update catjitter and add example
  • Update gmap documentation
  • Update themes to work better with BokehJS 0.12
  • Add vignettes
  • Add remote for packagedocs in DESCRIPTION
  • Add github url and VignetteBuilder entry to DESCRIPTION
  • Make it easier to specify color palettes
  • Update ly_bar to include group information in hover and make hover FALSE by default
  • Fix bug in grid spacer computation
  • Fix bug in 'empty' legend glyph attributes to deal with picky 0.12
  • Fix ly_points so it doesn't progress colors when grouping by other things
  • Fix rbokeh2html to work with Bokeh 0.12 layouts
  • Fix issue with grouping by color in ly_polygons
  • Remove data from legend glyphs to avoid trouble
  • Fix splitting issue with ly_points and ly_lines
  • Make ly_abline work with vectors
  • Make abline with h= or v= work for mixed axis types (date, cat, etc.)
  • Allow ly_bar to use either axis for bars
  • Fix bug where legend glyphs have incorrect data types
  • Add hover to ly_bar
  • Major lintr overhaul
  • Grid plot working with 0.12
  • Make titles work in new grid plots
  • Add title spec for 0.12
  • Fix default sizing for RStudio
  • Better type checking in ly_image
  • Remove padding logic as it is handled in 0.12 now
  • Fix 0.12 compatibility issues with ly_image
  • Fix tool rendering issues
  • Fix unneeded attributes in CategoricalTicker
  • Fix text layer attributes
  • Add notes about how to scrape glyphs from docs
  • Fix bug in glyphs used for legend entries
  • Add comments about possible new hover parameters
  • Remove logo by default
  • Add with_outliers to ly_boxplot to toggle visibility of points outside the whiskers (thanks Steve Lianoglou)
  • Add api_key to gmap
  • Update BokehJS to 0.12.1 and initial adjustment of R code to adapt
  • fix issue with single-row input to ly_bar() (0.4.3)
  • fix bug in rbokeh.js resize (0.4.2)
  • rename save_figure to widget2png (0.4.2)
  • rename widget2gist input name (0.4.2)
  • add xlim/ylim args to grid_plot (0.4.2)
  • rename rbokeh2gist to widget2gist (0.4.2)
  • add bl.ocks.org yaml config options to rbokeh2gist() (0.4.2)
  • honor backward specification of xlim/ylim (0.4.2)
  • add width argument to ly_boxplot (0.4.1)
  • update BokehJS to 0.11.1 (0.4.1)
  • unname vectors to make jsonlite happy (0.4.1)
  • fix bug in hover glyph for lines with mapped attrs (0.4.1)
  • many fixes and streamlining of non-standard evaluation logic (0.4.1)
  • add args argument to some callbacks (0.4.1)
  • update hexbin to have xbnds, ybnds and allow hover = FALSE (0.4.1)
  • add visible to list of valid opts for checking (0.4.0)
  • fix issue with hiding legend when mapping attributes (0.4.0)
  • propagate visible parameter to all glyphs (0.4.0)
  • add hover glyph to have same properties as specified glyph with full opacity (0.4.0)
  • fix issue with custom legend (0.4.0)
  • add visible parameter to all glyphs (0.4.0)
  • modularize get_glyph_attrs() so can be used for annotations (0.4.0)
  • add selection callbacks (0.4.0)
  • add annotation renderers to tools (0.4.0)
  • change default tooltip colors (0.4.0)
  • fix js callbacks to have unique ids (0.4.0)
  • add hover callback example - thanks @saptarshiguha (0.4.0)
  • refactor callback approach (0.4.0)
  • add get_object_refs() method (0.4.0)
  • fix bug in axis range introduced by range callback (0.4.0)
  • fix layer naming defaults (0.4.0)
  • add tool_tap with callback support (0.4.0)
  • update layer_ref to callback tools (0.4.0)
  • fix lname to be singleton (0.4.0)
  • add callback examples (0.4.0)
  • make callback work with specified layer names (0.4.0)
  • add hover and tap callbacks (0.4.0)
  • add range callback support (0.4.0)
  • set default log level to 'info' with debug available through option (0.4.0)
  • update ly_hexbin() to have xbnds, ybnds and allow hover = FALSE (0.3.5)
  • change gist iframe to use rawgit because bl.ocks.org changed X-frame-options to SAMEORIGIN (0.3.4)
  • add 'secure' option to rbokeh2html() for using https cdn links (0.3.4)
  • add desired_num_ticks to axis options (0.3.4)
  • fix issue with ly_rect() and datetime axes (0.3.4)
  • set proper defaults in gmap() so that user can't do things they shouldn't (0.3.4)
  • fix bug in ly_image_url() for computing w/h (0.3.4)
  • update to Bokeh 0.11.0 (0.3.4)
  • make POSIX detection more robust (0.3.3)
  • fix bug in singleton glyphs involving date axis (0.3.3)
  • fix margins for gridplots (0.3.3)
  • fix bug in gridplot dimension calculation (0.3.3)
  • fix bug in ly_crect() (0.3.2)
  • fix ly_hist to allow a 'histogram' object (0.3.2)
  • fix typo in ly_boxplot (0.3.1)
  • fix json encoding issue when data is a list to begin with (0.3.1)
  • fix single-row hover issue (0.3.1)
  • fix abline to work with json encoding scheme (0.3.1)
  • reduce verbosity (0.3.1)
  • fill props if none for a glyph (0.3.1)
  • fix custom date axis issue #100 (0.3.1)
  • allow FALSE to hide legend (0.3.1)
  • major overhaul of internal lazy evaluation logic to be more flexible
  • add webgl parameter
  • fix 2html and 2gist to handle NAs properly
  • add catjitter() function for jittering categorical scales
  • add rbokeh2gist()
  • update to bokeh v0.10.0
  • change get_bokeh_html() to rbokeh2html()
  • modify save_figure() to use rbokeh2html instead of saveWidget
  • fix small issues with rbokeh2html()
  • allow null y for ly_bar()
  • remove quotes that can appear in legend group headers
  • fix issue with resolving character column names
  • fix issue with single entry factorRange json encoding
  • add initial barchart support
  • fix JSON handling to make NAs render properly
  • update to Bokeh v0.9.3
  • initial support for themes
  • move plot/axis/grid/legend themes to theme_ functions
  • add headers to groups of legend entries from mapped attributes
  • add help tool with redirect to rbokeh docs
  • add grid parameter support for finer control over grid properties
  • major overhaul of input handling to accommodate more data input modes and provide for more robust mapped attributes
  • fix hover for ly_polygons()
  • add support for custom hover
  • add full control over legend attributes
  • in grid_plot() use simplify_axes to automatically size things so panels are same size
  • add automatic labels to a grid plot if given a named list
  • add dynamic sizing (on the R side) BokehGridPlot
  • fix custom date axis issue
  • add experimental phantomjs static export function, save_figure()
  • add map_style to gmap()
  • update to Bokeh v0.9.1
  • fix issue with hover data frame not being found
  • fix issue JSON encoding with hover data frame with only one row
  • fix an issue with grid_plot and tool_events not having unique id
  • added support for axis tick formatting to x_axis and y_axis
  • switched to jsonlite from RJSONIO
  • updated the library to be data.table aware
  • fix bugs in ly_lines() and ly_points() parameter passing when grouping
  • documentation updates
  • update sizing policy to deal with renderBokeh()
  • rbokeh plots are now htmlwidgets from the start
  • fix URL tool
  • fix dimension calculation so that resulting div is exactly the dimensions specified
  • update default padding and text sizes
  • fix sizing so that plots and grid plots on are exact dimensions as specified (resize canvas elements to accommodate for things drawn in the margins)
  • fix bug in generating unique id for each plot
  • allow toolbar to be completely hidden
  • update documentation for figure()
  • add sizing policy in rbokeh.js
  • add default nonselection glyph properties for box/lasso select
  • add basic theme support
  • add non-standard evaluation specification of parameters
  • add aesthetic mapping
  • add automatic generation of legends for aesthetic mappings
  • add generic legend support
  • hover tool support
  • tap to open URL support
  • add datetime axis
  • add log axis
  • add ly_hexbin
  • add grid_plot with linked pan/zoom and brushing
  • several "stats" layers - hist, density, quantile, boxplot, etc.
  • add image_url
  • axis labels
  • tools control
  • migrate to standard json model
  • move to s3 methods + pipes for adding layers
  • add data argument to several glyph functions
  • add elements data set for plotting periodic table
  • add checking for spefication of options that are not used
  • fix handling of pch and associated options
  • remove individual marker methods - all accessible through points()
  • hist method to show example of higher-level stat plots using glyphs
  • automatic calculation for continuous and categorical scales
  • basic color theme for adding components to figures
  • preliminary support for base R graphics:
    • points() including glyph mappings to R's pch
    • lines() including line_dash mappings to R's lty
  • nearly all glyphs implemented (image_rgba and image_url remain)
  • reference class implementation of a bokeh "figure"

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.5.0 by Ryan Hafen, 4 months ago

https://hafen.github.io/rbokeh https://github.com/bokeh/rbokeh

Report a bug at https://github.com/bokeh/rbokeh/issues

Browse source code at https://github.com/cran/rbokeh

Authors: Ryan Hafen [aut, cre], Kenton Russell [ctb], Jonathan Owen [ctb], Barret Schloerke [ctb], Saptasrhi Guha [ctb], Continuum Analytics, Inc. [aut, cph] (Bokeh library in htmlwidgets/lib, http://bokeh.pydata.org)

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports htmlwidgets, maps, methods, jsonlite, digest, hexbin, lazyeval, pryr, magrittr, ggplot2, scales, gistr

Suggests testthat, data.table, lattice, lintr, roxygen2, knitr

Enhances shiny

See at CRAN