Scientific figures with Stylia

Sytlia is a small Python library for styling plots

Stylia is a small package to stylize Matplotlib plots in Python so that they are publication-ready. Stylia provides modified axes (ax) that can be used as drop-in replacements for Matplotlib axes.

Getting started

Installation

First make sure that you have the Arial font installed in your computer (Linux systems do not have it preinstalled). The best is to install Arial in the conda environment you are using:

conda install -c conda-forge mscorefonts

You can read more about fonts and Matplotlib in this excellent blogpost from the Alexander Lab.

Stylia is constantly evolving, so we recommend that you install it directly from the GitHub repository.

git clone https://github.com/ersilia-os/stylia.git
cd stylia
pip install -e . 

Create a single panel figure

import stylia as st
import numpy as np

fig, axs = st.create_figure(1,1)
ax = axs[0]

x = np.random.normal(size=100)
y = np.random.normal(size=100)

ax.scatter(x, y)

st.save_figure("my_single_plot.png")

Create a multipanel figure

Sizes

Figure size

We follow the Nature Figure Guidelines. Please read those style guidelines carefully. In brief, the entire figure should be have the following sizes:

  • SINGLE_COLUMN_WIDTH: 90 mm or 3.54 in

  • TWO_COLOUMNS_WIDTH: 180 mm or 7.09 in

These variables are built-in within Stylia. You can access them as follows:

Font size

  • FONTSIZE_SMALL: 5

  • FONTSIZE: 6

  • FONTSIZE_BIG : 8

Marker sizes

  • MARKERSIZE_SMALL: 5

  • MARKERSIZE: 10

  • MARKERSIZE_BIG: 30

Line widths

  • LINEWIDTH: 0.5

  • LINEWIDTH_THICK: 1.0

Colors

Named colors

You can use predefined colors:

Available color names are:

  • 'red'

  • 'blue'

  • 'green'

  • 'orange'

  • 'purple'

  • 'yellow'

  • 'gray'

  • 'white'

  • 'black'

Color maps

Continuous color maps

Color maps can be created with the fit method.

Available color maps are:

  • 'spectral'

  • 'viridis'

  • 'coolwarm'

Discrete colormaps

Please note that, by default, we use Scientific Color Maps. Non-scientific color maps look brighter, though. If you want to use non-scientific color maps, simply specify ContinuousColorMap("spectral", scientific=False).

Last updated

Was this helpful?