Visualization
Click component name to see manual page
Component | Bundle | Description |
---|---|---|
BoxPlot | tools | Box plot |
CircosPlot | tools | Plot genomic data using Circos |
CSV2Excel | tools | Export a CSV file to Excel using formatting |
GNUPlot | tools | Plot using Gnuplot |
HeatMapReport | tools | Heat maps |
HTMLReport | tools | Generate HTML pages from tabular data |
LatexCombiner | tools | Combine LaTeX fragments into a document |
LatexPDF | tools | Compile LaTeX document into PDF |
LatexTemplate | tools | LaTeX header and footer |
Plot2D | tools | Scatter, line and bar plots using R |
PlotHTML | tools | Visualize data using HTML |
VennDiagram | tools | Venn diagrams |
Overview
Anduril can generate visualizations in PDF, HTML and Microsoft Excel formats. Note that visualizations components in the tools bundle have various external dependencies that need to be installed using anduril install-dep
. If you are using Docker, use anduril/anduril or anduril/full because anduril/core does not have external dependencies.
In addition to the ready-made facilities, you can use external scripts to plot in your favorite plotting library, such as ggplot2 (REvaluate), Matlab (MatlabEvaluate) or matplotlib (PythonEvaluate).
Excel
CSV2Excel exports CSV files into multi-sheet Excel files and supports formatting. Is is useful for export numeric and tabular results. In the following script, we create an Excel file containing two sheets, format header row as bold and use conditional formatting on the column named QualityOK. Result: Excel file.
#!/usr/bin/env anduril
import anduril.builtin._
import anduril.tools._
import org.anduril.runtime._
object Excel {
val data1 = INPUT("data1.csv")
val data2 = INPUT("data2.csv")
val style = INPUT("style.csv")
val report = CSV2Excel(data1, data2, style = style, sheetNames = "Data 1,Data 2")
}
Style sheet (style.csv):
Sheet Row Column Bold Condition BGColor
* 1 * true NA NA
* -1 QualityOK NA "== 1" #aaffaa
PDF reports using LaTeX
Many PDF visualizers use the LaTeX document system to compile reports that can have multiple pages, embedded text, and table of contents. It is, however, possible to use individual PDF/PNG images generated by the visualization components without compiling LaTeX PDF documents. FolderExtractor can be used for extracting individual files from LaTeX folders.
In the example below, we generate a normally distributed random matrix and visualize it using box and bar plots. Result: PDF file.
#!/usr/bin/env anduril
import anduril.builtin._
import anduril.tools._
import org.anduril.runtime._
object PDF {
val data = Randomizer(distribution = "normal", rows = 20, columns = 5)
val boxPlot = BoxPlot(data)
val barPlot = Plot2D(data, plotType = "bar")
val template = LatexTemplate(title = "Anduril report", printTOC = true)
val document = LatexCombiner(boxPlot.out, barPlot.out, sectionTitle = "Plots")
val pdf = LatexPDF(document, header = template.header, footer = template.footer)
}