
ggplot2 - Create Elegant Data Visualisations Using the Grammar of Graphics
A system for 'declaratively' creating graphics, based on "The Grammar of Graphics". You provide the data, tell 'ggplot2' how to map variables to aesthetics, what graphical primitives to use, and it takes care of the details.
Last updated
data-visualisationvisualisationquarto
25.41 score 6.9k stars 8.6k dependents 926k scripts 2.1M downloads
patchwork - The Composer of Plots
The 'ggplot2' package provides a strong API for sequentially building up a plot, but does not concern itself with composition of multiple plots. 'patchwork' is a package that expands the API to allow for arbitrarily complex composition of plots by, among others, providing mathematical operators for combining multiple plots. Other packages that try to address this need (but with a different approach) are 'gridExtra' and 'cowplot'.
Last updated
ggplot-extensionggplot2visualization
19.88 score 2.6k stars 873 dependents 125k scripts 367k downloads
scales - Scale Functions for Visualization
Graphical scales map data to aesthetics, and provide methods for automatically determining breaks and labels for axes and legends.
Last updated
ggplot2
19.71 score 446 stars 9.0k dependents 111k scripts 1.4M downloads
gtable - Arrange 'Grobs' in Tables
Tools to make it easier to work with "tables" of 'grobs'. The 'gtable' package defines a 'gtable' grob class that specifies a grid along with a list of grobs and their placement in the grid. Further the package makes it easy to manipulate and combine 'gtable' objects so that complex compositions can be built up sequentially.
Last updated
17.94 score 94 stars 8.6k dependents 5.5k scripts 1.3M downloads
ggraph - An Implementation of Grammar of Graphics for Graphs and Networks
The grammar of graphics as implemented in ggplot2 is a poor fit for graph and network visualizations due to its reliance on tabular data input. ggraph is an extension of the ggplot2 API tailored to graph visualizations and provides the same flexible approach to building up plots layer by layer.
Last updated
ggplot-extensionggplot2graph-visualizationnetwork-visualizationvisualizationcpp
17.47 score 1.1k stars 148 dependents 13k scripts 82k downloads
ggforce - Accelerating 'ggplot2'
The aim of 'ggplot2' is to aid in visual data investigations. This focus has led to a lack of facilities for composing specialised plots. 'ggforce' aims to be a collection of mainly new stats and geoms that fills this gap. All additional functionality is aimed to come through the official extension system so using 'ggforce' should be a stable experience.
Last updated
ggplot-extensionggplot2visualizationcpp
16.78 score 950 stars 354 dependents 12k scripts 118k downloads
systemfonts - System Native Font Finding
Provides system native access to the font catalogue. As font handling varies between systems it is difficult to correctly locate installed fonts across different operating systems. The 'systemfonts' package provides bindings to the native libraries on Windows, macOS and Linux for finding font files that can then be used further by e.g. graphic devices. The main use is intended to be from compiled code but 'systemfonts' also provides access from R.
Last updated
fontsfontconfigfreetypecpp
16.74 score 95 stars 1.3k dependents 888 scripts 1.0M downloadssvglite - An 'SVG' Graphics Device
A graphics device for R that produces 'Scalable Vector Graphics'. 'svglite' is a fork of the older 'RSvgDevice' package.
Last updated
svglibpngcpp
16.34 score 199 stars 270 dependents 6.3k scripts 286k downloads
gganimate - A Grammar of Animated Graphics
The grammar of graphics as implemented in the 'ggplot2' package has been successful in providing a powerful API for creating static visualisation. In order to extend the API for animated graphics this package provides a completely new set of grammar, fully compatible with 'ggplot2' for specifying transitions and animations in a flexible and extensible way.
Last updated
animationdata-visualizationggplot-extensionggplot2transition
16.19 score 2.0k stars 27 dependents 14k scripts 25k downloads
ragg - Graphic Devices Based on AGG
Anti-Grain Geometry (AGG) is a high-quality and high-performance 2D drawing library. The 'ragg' package provides a set of graphic devices based on AGG to use as alternative to the raster devices provided through the 'grDevices' package.
Last updated
drawinggraphicsvector-graphicsfreetypelibpngtifflibjpeg-turbolibwebpcpp
15.67 score 180 stars 554 dependents 2.4k scripts 937k downloads
isoband - Generate Isolines and Isobands from Regularly Spaced Elevation Grids
A fast C++ implementation to generate contour lines (isolines) and contour polygons (isobands) from regularly spaced grids containing elevation data.
Last updated
cpp
15.65 score 132 stars 8.5k dependents 75 scripts 1.3M downloads
tidygraph - A Tidy API for Graph Manipulation
A graph, while not "tidy" in itself, can be thought of as two tidy data frames describing node and edge data respectively. 'tidygraph' provides an approach to manipulate these two virtual data frames using the API defined in the 'dplyr' package, as well as provides tidy interfaces to a lot of common graph algorithms.
Last updated
graph-algorithmsgraph-manipulationigraphnetwork-analysistidyversecpp
15.24 score 566 stars 189 dependents 7.8k scripts 78k downloads
farver - High Performance Colour Space Manipulation
The encoding of colour can be handled in many different ways, using different colour spaces. As different colour spaces have different uses, efficient conversion between these representations are important. The 'farver' package provides a set of functions that gives access to very fast colour space conversion and comparisons implemented in C++, and offers speed improvements over the 'convertColor' function in the 'grDevices' package.
Last updated
color-conversioncpp
14.21 score 143 stars 9.0k dependents 240 scripts 1.2M downloadstextshaping - Bindings to the 'HarfBuzz' and 'Fribidi' Libraries for Text Shaping
Provides access to the text shaping functionality in the 'HarfBuzz' library and the bidirectional algorithm in the 'Fribidi' library. 'textshaping' is a low-level utility package mainly for graphic devices that expands upon the font tool-set provided by the 'systemfonts' package.
Last updated
harfbuzzfreetypefribidicpp
13.91 score 20 stars 799 dependents 87 scripts 927k downloadstweenr - Interpolate Data for Smooth Animations
In order to create smooth animation between states of data, tweening is necessary. This package provides a range of functions for creating tweened data that can be used as basis for animation. Furthermore it adds a number of vectorized interpolaters for common R data types such as numeric, date and colour.
Last updated
animationplottingtransitiontweeningcpp
13.07 score 399 stars 385 dependents 440 scripts 115k downloads
shinyFiles - A Server-Side File System Viewer for Shiny
Provides functionality for client-side navigation of the server side file system in shiny apps. In case the app is running locally this gives the user direct access to the file system without the need to "download" files to a temporary location. Both file and folder selection as well as file saving is available.
Last updated
filemanagershinyui-components
12.14 score 204 stars 72 dependents 1.2k scripts 10k downloads
scico - Colour Palettes Based on the Scientific Colour-Maps
Colour choice in information visualisation is important in order to avoid being mislead by inherent bias in the used colour palette. The 'scico' package provides access to the perceptually uniform and colour-blindness friendly palettes developed by Fabio Crameri and released under the "Scientific Colour-Maps" moniker. The package contains 24 different palettes and includes both diverging and sequential types.
Last updated
color-palettevisualization
11.63 score 476 stars 11 dependents 3.4k scripts 11k downloadsvdiffr - Visual Regression Testing and Graphical Diffing
An extension to the 'testthat' package that makes it easy to add graphical unit tests. It provides a Shiny application to manage the test cases.
Last updated
ggplot2graphicstestthatlibpngcpp
11.58 score 195 stars 5 dependents 392 scripts 75k downloads
marquee - Markdown Parser and Renderer for R Graphics
Provides the mean to parse and render markdown text with grid along with facilities to define the styling of the text.
Last updated
cpp
10.95 score 98 stars 6 dependents 191 scripts 8.4k downloadsplumber2 - Easy and Powerful Web Servers
Automatically create a web server from annotated 'R' files or by building it up programmatically. Provides automatic 'OpenAPI' documentation, input handling, asynchronous evaluation, and plugin support.
Last updated
webapiquarto
10.70 score 115 stars 2 dependents 56 scripts 806 downloads
ggfx - Pixel Filters for 'ggplot2' and 'grid'
Provides a range of filters that can be applied to layers from the 'ggplot2' package and its extensions, along with other graphic elements such as guides and theme elements. The filters are applied at render time and thus uses the exact pixel dimensions needed.
Last updated
filtersggplot2graphics
10.10 score 176 stars 3 dependents 568 scripts 1.6k downloads
transformr - Polygon and Path Transformations
In order to smoothly animate the transformation of polygons and paths, many aspects needs to be taken into account, such as differing number of control points, changing center of rotation, etc. The 'transformr' package provides an extensive framework for manipulating the shapes of polygons and paths and can be seen as the spatial brother to the 'tweenr' package.
Last updated
animationdata-visualizationinterpolationmatching-shapestweeningcpp
10.02 score 117 stars 29 dependents 890 scripts 23k downloads
fiery - A Lightweight and Flexible Web Framework
A very flexible framework for building server side logic in R. The framework is unopinionated when it comes to how HTTP requests and WebSocket messages are handled and supports all levels of app complexity; from serving static content to full-blown dynamic web-apps. Fiery does not hold your hand as much as e.g. the shiny package does, but instead sets you free to create your web app the way you want.
Last updated
http-serverhttpuvwebserverwebsocket-server
10.01 score 256 stars 4 dependents 36 scripts 1.5k downloads
ambient - A Generator of Multidimensional Noise
Generation of natural looking noise has many application within simulation, procedural generation, and art, to name a few. The 'ambient' package provides an interface to the 'FastNoise' C++ library and allows for efficient generation of perlin, simplex, worley, cubic, value, and white noise with optional perturbation in either 2, 3, or 4 (in case of simplex and white noise) dimensions.
Last updated
cpp
8.34 score 100 stars 2 dependents 1.0k scripts 2.4k downloads
routr - A Simple Router for HTTP and WebSocket Requests
In order to make sure that web request ends up in the correct handler function a router is often used. 'routr' is a package implementing a simple but powerful routing functionality for R based servers. It is a fully functional 'fiery' plugin, but can also be used with other 'httpuv' based servers.
Last updated
http-routermiddlewarerouterwebtechnology
8.06 score 55 stars 5 dependents 25 scripts 1.4k downloadsdensityClust - Clustering by Fast Search and Find of Density Peaks
An improved implementation (based on k-nearest neighbors) of the density peak clustering algorithm, originally described by Alex Rodriguez and Alessandro Laio (Science, 2014 vol. 344). It can handle large datasets (> 100,000 samples) very efficiently. It was initially implemented by Thomas Lin Pedersen, with inputs from Sean Hughes and later improved by Xiaojie Qiu to handle large datasets with kNNs.
Last updated
cpp
7.27 score 162 stars 89 scripts 1.1k downloads
particles - A Graph Based Particle Simulator Based on D3-Force
Simulating particle movement in 2D space has many application. The 'particles' package implements a particle simulator based on the ideas behind the 'd3-force' 'JavaScript' library. 'particles' implements all forces defined in 'd3-force' as well as others such as vector fields, traps, and attractors.
Last updated
d3jsgraph-layoutnetworknetwork-visualizationparticlessimulationcpp
7.25 score 120 stars 49 scripts 250 downloads
reqres - Powerful Classes for HTTP Requests and Responses
In order to facilitate parsing of http requests and creating appropriate responses this package provides two classes to handle a lot of the housekeeping involved in working with http exchanges. The infrastructure builds upon the 'rook' specification and is thus well suited to be combined with 'httpuv' based web servers.
Last updated
httphttp-serverrequestresponse
7.07 score 40 stars 8 dependents 20 scripts 1.3k downloadsfireproof - Authentication and Authorization for 'fiery' Servers
Provides a plugin for 'fiery' that supports various forms of authorization and authentication schemes. Schemes can be required in various combinations or by themselves and can be combined with scopes to provide fine-grained access control to the server.
Last updated
authenticationauthorizationwebserverquarto
5.50 score 1 stars 3 dependents 4 scripts 841 downloadswaysign - Multi-Purpose and High-Performance Routing
Provides routing based on the 'path-tree' 'Rust' crate. The routing is general purpose in the sense that any type of R object can be associated with a path, not just a handler function.
Last updated
rustcargo
5.40 score 7 stars 6 dependents 1 scripts 1.0k downloadsfiresale - Datastore for 'fiery' Web Servers
Provides a persistent datastore for 'fiery' apps. The datastore is build on top of the 'storr' package and can thus be based on a variety of backends. The datastore contains both a global and session-scoped section.
Last updated
4.95 score 3 stars 4 dependents 3 scripts 795 downloadsfiresafety - A Collection of Security Related Plugins for 'fiery'
Provide a range of plugins for 'fiery' web servers that handle different aspects of server-side web security. Be aware that security cannot be handled blindly, and even though these plugins will raise the security of your server you should not build critical infrastructure without the aid of a security expert.
Last updated
4.86 score 2 stars 3 dependents 1 scripts 1.1k downloadsdevoid - A Graphic Device that Does Nothing
Provides a non-drawing graphic device for benchmarking purpose. In order to properly benchmark graphic drawing code it is necessary to factor out the device implementation itself so that results are not related to the specific graphics device used during benchmarking. The 'devoid' package implements a graphic device that accepts all the required calls from R's graphic engine but performs no action. Apart from benchmarking it is unlikely that this device has any practical use.
Last updated
graphics
4.25 score 22 stars 16 scripts 219 downloadsfirestorm - Reverse Proxy and Load Balancing for 'fiery'
Provides plugins for setting up 'fiery' apps as a reverse proxy. This allows you to use a 'fiery' server as a front for multiple services or even work as a load-balancer.
Last updated
4.13 score 3 dependents 3 scripts 527 downloads