sci-viso

Sci-viso is a wrapper around matplotlib and seaborn. These are already great libraries, but as I needed to generate figures for publication, I found that I had specific formats that I needed, and continually adding these in was making my code clunky and repetative. I also wanted my charts within a publication to have the same “look and feel”, like palette, font, sizing etc. So I made sciviso so that my figures could come out of python “publication ready” and asthetic.

I have only made wrappers for charts that I use (obvs) but keen for people to add others or make suggestions (feel free to do that via github issues).

Charts

Barchart

_images/barchart.svg

Boxplot (with statistics)

_images/boxplot.svg

Heatmap

_images/heatmap.svg

Histogram

_images/histogram.svg

Scatterplot

_images/scatter2D.svg
_images/scatter3d.svg

Violinplot (with statistics)

_images/violin.svg

Volcanoplot

_images/volcano.svg

Each of these charts extends from a base vis which means the styles are set in the same way when the class is instanciated. Things which come as present:

  1. Generating the figures text as elements (for SVG & PDF export)

  2. Consistent sizing: figure size & title, and label font sizes and styles

  3. Colour (colourmaps, palletes) you can use any colours either as named from matplotlib, or HEX values.

  4. X-axis text at 45 degrees for heatmaps & other charts when they have text on the x axis (e.g. boxplot & violinplots).

  5. Statistics on box and violin plots (optional) and also colouring each box/violin by a specific colour.

  6. Volcanoplot with the option to set colour cutoffs & also labelling of certain points.

  7. Scatterplot with labelling of select points (2 and 3D plot).

For details check out the docs page on each of the charts.

Extending sci-viso

  1. Make a pull request on github - we have made the code extendable for the loss function etc.

Citing sci-viso

Sci-viso can be cited as in References, where we also provide citations for the used tools (e.g. matplotlib & seaborn).

Getting started