geomnet - Examples and data for geom_net

  •        22

geomnet is a package built on top of the most recent major ggplot2 release. It provides a ggplot2 geom called geom_net to visualize graphs and networks. It also include the function stat_net to calculate network layouts with the sna package. Finally, the function geom_circle is included to draw circles using ggplot2. This example shows the theme inheritance properties of the theme elements of ggplot2. Note: this example has not been updated since the release of ggplot2 2.2.0 and as such the content may have changed.



Related Projects

plotly - An interactive graphing library for R

  •    R

An R package for creating interactive web graphics via the open source JavaScript graphing library plotly.js.NOTE: The CRAN version of plotly is designed to work with the CRAN version of ggplot2, but at least for the time being, we recommend using the development versions of both plotly and ggplot2 (devtools::install_github("hadley/ggplot2")).

ggraph - Grammar of Graph Graphics

  •    R

ggraph is an extension of ggplot2 aimed at supporting relational data structures such as networks, graphs, and trees. While it builds upon the foundation of ggplot2 and its API it comes with its own self-contained set of geoms, facets, etc., as well as adding the concept of layouts to the grammar. All of the tree concepts has been discussed in detail in dedicated blog posts that are also available as vignettes in the package. Please refer to these for more information.

ggforce - Accelerating ggplot2

  •    R

ggforce is a package aimed at providing missing functionality to ggplot2 through the extension system introduced with ggplot2 v2.0.0. Broadly speaking ggplot2 has been aimed primarily at explorative data visualization in order to investigate the data at hand, and less at providing utilities for composing custom plots a la D3.js. ggforce is mainly an attempt to address these "shortcoming" (design choices might be a better description). The goal is to provide a repository of geoms, stats, etc. that are as well documented and implemented as the official ones found in ggplot2. The inclusion of any geom, stat, position etc in ggforce is not necessarily a recommendation of their use. ggplot2 has been successful in being opinionated about what functionality should be available. This is good as it insulates the user from making bad decisions when analyzing their data (to a certain degree), but it also makes it difficult to develop novel visualizations using the ggplot2 API. ggforce on the other hand positions itself closer to the "anything goes - the user is responsible for the quality of the output". Be very aware of this responsibility! Bad visualizations lie about, distorts, and obscure the data behind them, both to you and the ones you share your visualizations with.

hrbrthemes - :lock_with_ink_pen: Opinionated, typographic-centric ggplot2 themes and theme components

  •    R

This is a very focused package that provides typography-centric themes and theme components for ggplot2. It’s a an extract/riff of hrbrmisc created by request. The core theme: theme_ipsum (“ipsum” is Latin for “precise”) uses Arial Narrow which should be installed on practically any modern system, so it’s “free”-ish. This font is condensed, has solid default kerning pairs and geometric numbers. That’s what I consider the “font trifecta” must-have for charts. An additional quality for fonts for charts is that they have a diversity of weights. Arial Narrow (the one on most systems, anyway) does not have said diversity but this quality is not (IMO) a “must have”.

ggrepel - :round_pushpin: Repel overlapping text labels away from each other.

  •    R

Text labels repel away from each other, away from data points, and away from edges of the plotting area. Please submit an issue to report bugs or ask questions.

falcon-sql-client - Free, open-source SQL client for Windows and Mac 🦅

  •    Javascript

Falcon in a free, open-source SQL editor with inline data visualization. It currently supports connecting to RedShift, MySQL, PostgreSQL, IBM DB2, Impala, MS SQL, and SQLite. Visit to learn more or visit the Plotly forum.

falcon - Free, open-source SQL client for Windows and Mac 🦅

  •    Javascript

Falcon is a free, open-source SQL editor with inline data visualization. It currently supports connecting to RedShift, MySQL, PostgreSQL, IBM DB2, Impala, MS SQL, Oracle, SQLite and more (for connecting to Oracle, please, see here the instructions to install the required free Oracle Instant Client). Visit to learn more or visit the Plotly forum.

dash - Interactive, Reactive Web Apps for Python. Dash Is Productive™

  •    Python

Build on top of Plotly.js, React, and Flask, Dash ties modern UI elements like dropdowns, sliders, and graphs directly to your analytical python code. Here’s a 43-line example of a Dash App that ties a Dropdown to a D3.js Plotly Graph. As the user selects a value in the Dropdown, the application code dynamically exports data from Google Finance into a Pandas DataFrame. This app was written in just 43 lines of code (view the source).

ggpubr - 'ggplot2' Based Publication Ready Plots

  •    R

ggplot2 by Hadley Wickham is an excellent and flexible package for elegant data visualization in R. However the default generated plots requires some formatting before we can send them for publication. Furthermore, to customize a ggplot, the syntax is opaque and this raises the level of difficulty for researchers with no advanced R programming skills. The 'ggpubr' package provides some easy-to-use functions for creating and customizing 'ggplot2'- based publication ready plots.

ggpage - Creates Page Layout Visualizations in R

  •    R

ggpage is a package to create pagestyled visualizations of text based data. It uses ggplot2 and final returns are ggplot2 objects. In this new version I have worked to include a lot of use cases that wasn’t available in the first version. These new elements are previewed in the vignette. - An interactive, browser-based graphing library for Python :sparkles:

  •    Python

Built on top of plotly.js, is a high-level, declarative charting library. plotly.js ships with over 30 chart types, including scientific charts, 3D graphs, statistical charts, SVG maps, financial charts, and more. is MIT Licensed. Plotly graphs can be viewed in Jupyter notebooks, standalone HTML files, or hosted online on

gramm - Gramm is a complete data visualization toolbox for Matlab

  •    Matlab

Gramm is a powerful plotting toolbox which allows to quickly create complex, publication-quality figures in Matlab, and is inspired by R's ggplot2 library by Hadley Wickham. As a reference to this inspiration, gramm stands for GRAMmar of graphics for Matlab. Gramm is a data visualization toolbox for Matlab that allows to produce publication-quality plots from grouped data easily and flexibly. Matlab can be used for complex data analysis using a high-level interface: it supports mixed-type tabular data via tables, provides statistical functions that accept these tables as arguments, and allows users to adopt a split-apply-combine approach (Wickham 2011) with rowfun(). However, the standard plotting functionality in Matlab is mostly low-level, allowing to create axes in figure windows and draw geometric primitives (lines, points, patches) or simple statistical visualizations (histograms, boxplots) from numerical array data. Producing complex plots from grouped data thus requires iterating over the various groups in order to make successive statistical computations and low-level draw calls, all the while handling axis and color generation in order to visually separate data by groups. The corresponding code is often long, not easily reusable, and makes exploring alternative plot designs tedious.

Gephi - The Open Graph Viz Platform

  •    Java

Gephi is the leading visualization and exploration software for all kinds of graphs and networks. It is fast Powered by a built-in OpenGL engine, Gephi is able to push the envelope with very large networks. Visualize networks up to a million elements.

Gadfly.jl - Crafty statistical graphics for Julia.

  •    Julia

Gadfly is a plotting and data visualization system written in Julia. It's influenced heavily by Leland Wilkinson's book The Grammar of Graphics and Hadley Wickham's refinement of that grammar in ggplot2.

UpSetR - An R implementation of the UpSet set visualization technique published by Lex, Gehlenborg, et al

  •    R

UpSetR generates static UpSet plots. The UpSet technique visualizes set intersections in a matrix layout and introduces aggregates based on groupings and queries. The matrix layout enables the effective representation of associated data, such as the number of elements in the aggregates and intersections, as well as additional summary statistics derived from subset or element attributes. For further details about the original technique see the UpSet website. You can also check out the UpSetR shiny app. Here is the source code for the shiny wrapper.

Large Graph Layout (LGL)

  •    C++

LGL is a compendium of applications for making the visualization of large networks and trees tractable. LGL was specifically motivated by the need to make the visualization and exploration of large biological networks more accessible.

tf_cnnvis - CNN visualization tool in TensorFlow

  •    Python

Figure 1: Original image and the reconstructed versions from maxpool layer 1,2 and 3 of Alexnet generated using tf_cnnvis. The function to generate the activation visualizations of the input image at the given layer.