Giter Site home page Giter Site logo

circlize's Introduction

Build Status CRAN CRAN

circlize: circular visualization in R

Circular layout is an efficient way for the visualization of huge amounts of information. Here the circlize package provides an implementation of circular layout generation in R as well as an enhancement of available software. The flexibility of this package is based on the usage of low-level graphics functions such that self-defined high-level graphics can be easily implemented by users for specific purposes. Together with the seamless connection between the powerful computational and visual environment in R, circlize givesa users more convenience and freedom to design figures for better understanding complex patterns behind multi-dimensional data.

Citation

Zuguang Gu, Lei Gu, Roland Eils, Matthias Schlesner, Benedikt Brors, circlize Implements and enhances circular visualization in R. Bioinformatics (Oxford, England) 2014. PubMed

Documentation

The full documentations are available at http://jokergoo.github.io/circlize_book/book/.

Basic design

Since most of the figures are composed of points, lines and polygons, we just need to implement functions for drawing points, lines and polygons, then the plots will not be restricted in any specific types.

Current there are following low-level graphic functions:

  • circos.points()
  • circos.lines()
  • circos.rect()
  • circos.polygon()
  • circos.text()
  • circos.axis()
  • circos.raster()
  • circos.arrow()
  • circos.link(), This maybe the unique feature for circos layout to represent relationships between elements.

For drawing points, lines and text through the whole track (among several sectors), the following functions are available:

  • circos.trackPoints()
  • circos.trackLines()
  • circos.trackText()

Functions to arrange the circular layout:

  • circos.track()
  • circos.update()
  • circos.nested()
  • circos.par()
  • circos.info()
  • circos.clear()

Theoretically, you are able to draw most kinds of circular plots by the above functions.

For specific use in Genomics, we also implement functions which add graphics in genome scale.

Functions to initialize circular plot with genomic coordinates:

  • circos.initializeWithIdeogram()
  • circos.genomicInitialize()

Functions to arrange genomic circular layout:

  • circos.genomicTrack()

Functions to add basic graphics in genomic scale:

  • circos.genomicPoints()
  • circos.genomicLines()
  • circos.genomicText()
  • circos.genomicRect()
  • circos.genomicLink()

Functions with specific purpose:

  • circos.genomicIdeogram()
  • circos.genomicHeatmap()
  • circos.genomicLabels()
  • circos.genomicDensity()
  • circos.genomicRainfall()

Finally, function that draws Chord diagram:

  • chordDiagram()

Install

The package can be installed from CRAN:

install.packages("circlize")

or directly from GitHub:

devtools::install_github("jokergoo/circlize")

Examples

See http://jokergoo.github.io/circlize.

circlize_example

License

GPL (>= 2)

circlize's People

Contributors

jokergoo avatar guyabel avatar raredd avatar

Watchers

Yi Xianfu avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.