Interactive Q-Q and Manhattan Plots Using 'plotly.js'

Create interactive Q-Q, manhattan and volcano plots that are usable from the R console, in the 'RStudio' viewer pane, in 'R Markdown' documents, and in 'Shiny' apps. Hover the mouse pointer over a point to show details or drag a rectangle to zoom. A manhattan plot is a popular graphical method for visualizing results from high-dimensional data analysis such as a (epi)genome wide association study (GWAS or EWAS), in which p-values, Z-scores, test statistics are plotted on a scatter plot against their genomic position. Manhattan plots are used for visualizing potential regions of interest in the genome that are associated with a phenotype. Interactive manhattan plots allow the inspection of specific value (e.g. rs number or gene name) by hovering the mouse over a cell, as well as zooming into a region of the genome (e.g. a chromosome) by dragging a rectangle around the relevant area. This work is based on the 'qqman' package by Stephen Turner and the 'plotly.js' engine. It produces similar manhattan and Q-Q plots as the 'manhattan' and 'qq' functions in the 'qqman' package, with the advantage of including extra annotation information and interactive web-based visualizations directly from R. Once uploaded to a 'plotly' account, 'plotly' graphs (and the data behind them) can be viewed and modified in a web browser.

The goal of manhattanly is to create interactive manhattan, Q-Q and volcano plots

You can install manhattanly from CRAN:


Alternatively, you can install the development version of manhattanly from GitHub with:

devtools::install_github("sahirbhatnagar/manhattanly", build_vignettes = TRUE)

See the online vignette for example usage of the functions.

This package is inspired by the qqman package by Stephen Turner. The pre-processing of the data in the manhattanly package is based on the qqman::manhattan and qqman::qq functions.

The splitting of the tasks into data pre-processing and plot rendering is inspired by the heatmaply package by Tal Galili

You can see the most recent changes to the package in the file

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


manhattanly 0.2.0 (2016-11-17)

  • volcanoly function creates interactive volcano plots with automatic highlighting of points
  • By default, hover is based on the closest point rather than the x-coordinate (@mshadbolt, #1)
  • evaluate argument deprecated (@thebioengineer, #4)
  • Hover annotations for highlighted SNPs bug fixed (@mshadbolt, #6)
  • Reduced size of Introduction to manhattanly vignette by using html_vignette (instead of html_document) which by default uses smaller plot sizes. See for full vignette.
  • Fixed issue with hovering text when no annotation columns are provided: Problem variables: 'text' (@davemcg, #7)

manhattanly 0.1.0 (2016-06-03)

  • Added a file to track changes to the package.
  • Added vignette
  • First version of the package

Reference manual

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


0.2.0 by Sahir Bhatnagar, 3 months ago,

Report a bug at

Browse source code at

Authors: Sahir Bhatnagar [aut, cre] (

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports stats, magrittr, plotly, ggplot2

Suggests knitr, rmarkdown

See at CRAN