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 < https://bokeh.pydata.org/>.

Build Status codecov.io CRAN

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.


Version 0.5

  • 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

Version 0.4

  • 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)

Version 0.3

  • 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

Version 0.2.4

  • 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

Version 0.2.2

  • update sizing policy to deal with renderBokeh()
  • rbokeh plots are now htmlwidgets from the start
  • fix URL tool

Version 0.2.1

  • 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

Version 0.1

  • 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.2 by Ryan Hafen, 5 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 , https://bokeh.pydata.org)

Documentation:   PDF Manual  

MIT + file LICENSE license

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

Suggests testthat, data.table, lattice, lintr, roxygen2, latticeExtra, knitr, rmarkdown, markdown

Enhances shiny

Suggested by xplorerr.

See at CRAN