Interactive Graphics for QTL Experiments

Web-based interactive charts (using D3.js) for the analysis of experimental crosses to identify genetic loci (quantitative trait loci, QTL) contributing to variation in quantitative traits.


  • Rewrite underlying javascript to use new version of d3panels.

  • Add a new chart, scat2scat. The idea is to summarize each of a long series of scatterplots with a pair of numbers. Then a scatterplot of those summary statistics is linked to the underlying details: click on a point in the main scatterplot and have the underlying scatterplot be shown.

  • Add a new chart, itriplot, for plotting trinomial probabilities, represented as points in an equilateral triangle.

  • Refactor iplotPXG and idotplot so that idotplot is the main function, and iplotPXG calls it.

  • Add some additional options, such as horizontal for iplotMap and iplotPXG.

  • Change the name of some options, such as linecolor and linewidth in iplotCurves (in place of strokecolor and strokewidth).

  • Add a digits argument for all plot functions, with the aim to reduce the size of the datasets included in the resulting charts.

  • Removed the vignettes from the package (for complicated reasons); they're available at the R/qtlcharts website.

  • Fix proliferation of tool tips

  • For use with Shiny, clear SVG before drawing

  • Skip Rmd and html tests run on CRAN (so faster, and because the Rmd tests won't work on Solaris as they need pandoc).
  • Changed license and author list in order to post the package on CRAN,

  • idotplot and iplot now use the names of the input data as individual IDs if indID is missing or NULL.

  • Fixed a bug in iplotScanone with pxgtype="ci". In the case of phenotypes with missing values, the confidence intervals were incorrect.
  • iplotCorr has argument scatterplots that controls whether scatterplots will be shown when clicking on pixels in the heatmap. (If scatterplots=FALSE, we skip the scatterplots.)
  • iplotMScanone can plot just points (rather than curves) for the LOD scores and QTL effects in the lower and right-hand panels.

  • Fix a bug in iplotMScanone (x-axis labels in right-hand plot weren't being shown)

  • Included bower information, about the javascript libraries, within the source package.
  • Added setScreenSize function for controlling the default sizes of charts.
  • Added idotplot function for plotting a quantitative variable in different categories. (It's just like iplotPXG, but with data values not connected to a cross object.)

  • Reorganized the d3panels code: just using d3panels.min.js and d3panels.min.css rather than linking to js code for individual panels.

  • Refactored the entire package to use htmlwidgets. A big advantage is that the charts now work nicely within RStudio.

  • To save a plot to a file, you now need to assign the result of a plot function to an object and then use the htmlwidgets function saveWidget.

    hyper <- calc.genoprob(hyper, step=1)
    out <- scanone(hyper)
    chart <- iplotScanone(out, hyper)
    htmlwidgets::saveWidget(chart, file="hyper_scanone.html")
  • It's now simpler to include interactive charts within an R Markdown document. You simply make the plots in a code chunk in the way that you would at the R prompt. There's no longer a need to worry about print_qtlcharts_resources() or results="asis".

  • Separated out the basic panel functions as a separate repository, d3panels, to make it easier for them to be used separately from R/qtlcharts.

Reference manual

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


0.7-8 by Karl W Broman, 8 months ago

Browse source code at

Authors: Karl W Broman [aut, cre], Michael Bostock [ctb, cph] (d3.js library in htmlwidgets/lib,, Justin Palmer [ctb, cph] (d3.tip library in htmlwidgets/lib,, Cynthia Brewer [cph] (ColorBrewer library in htmlwidgets/lib,, Mark Harrower [cph] (ColorBrewer library in htmlwidgets/lib,, The Pennsylvania State University [cph] (ColorBrewer library in htmlwidgets/lib,, jQuery Foundation [cph] (jQuery library in htmlwidgets/lib,, jQuery contributors [ctb] (jQuery library in htmlwidgets/lib; see, jQuery UI contributors [ctb] (jQuery UI library in htmlwidgets/lib; see

Documentation:   PDF Manual  

GPL-3 | file LICENSE license

Imports qtl, htmlwidgets, graphics, stats, utils

Suggests htmltools, jsonlite, knitr, devtools, roxygen2, rmarkdown, testthat

See at CRAN