Documentation | Tutorials | Gallery | llms.txt | Genome Biology
Marsilea: Declarative creation of composable visualization
Marsilea builds complex annotated heatmaps, oncoprints, UpSet plots, sequence logos and other composable visualizations in Python — declaratively, on top of Matplotlib.
Quickstart (8 lines)
import numpy as np
import marsilea as ma
import marsilea.plotter as mp
data = np.random.default_rng(0).standard_normal((10, 10))
h = ma.Heatmap(data, linewidth=0.5, height=4, width=4)
h.add_top(mp.Bar(data.mean(axis=0)), size=0.8, pad=0.1)
h.add_left(mp.Labels([f"Gene{i}" for i in range(10)]), pad=0.05)
h.add_dendrogram("right")
h.add_legends()
h.render()
|
|
Add a bar chart on top, labels on the left, a dendrogram on the right. Each side is just another building block. → Full tutorial
Using scanpy/scverse? Marsilea has an official how-to in the scanpy documentation: Plotting with Marsilea
Installation
PyPI
pip install marsilea
Conda
conda install -c conda-forge marsilea
Use with Claude Code
Marsilea ships an official Claude Code skill:
/plugin marketplace add Marsilea-viz/marsilea-skill
/plugin install marsilea@marsilea-marketplace
Once installed, the skill activates automatically whenever you ask Claude for a composable visualization. Marsilea itself still needs to be installed in your Python environment (see above). See the marsilea-skill repository, or Use Marsilea with AI assistants for other assistants and the machine-readable llms.txt.
What is Composable Visualization?
When we do visualization, we often need to combine multiple plots to show different aspects of the data. For example, we may need to create a heatmap to show the expression of genes in different cells, and then create a bar chart to show the expression of genes in different cell types. A visualization contains multiple plots is called a composable visualization. In Marsilea, we employ a declarative approach for user to create composable visualization incrementally.
Examples
| Bar chart with images | Stacked bar chart | Arc diagram |
|---|---|---|
|
|
|
|
| Single-cell RNA-seq heatmap | Oncoprint | UpSet plot |
|---|---|---|
|
|
|
|
Citation
If you use Marsilea in your research, please cite the following:
Marsilea: an intuitive generalized paradigm for composable visualizations
Yimin Zheng, Zhihang Zheng, André F. Rendeiro & Edwin Cheung
Genome Biology 2025 Jan 06. DOI: 10.1186/s13059-024-03469-3
Getting help
Found a bug or have a question? Open an issue.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file marsilea-0.7.0.post1.tar.gz.
File metadata
- Download URL: marsilea-0.7.0.post1.tar.gz
- Upload date:
- Size: 97.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0a073f1b502775b62d6f896294a47edccfbbd14a4151c04b3ead2c1c9843204
|
|
| MD5 |
c92404baddb255813657924cfac58bbf
|
|
| BLAKE2b-256 |
5073d008afff7e9a7dcef29a8a154cffc02969eb68ffab2b2bf97ccca1da8236
|
File details
Details for the file marsilea-0.7.0.post1-py3-none-any.whl.
File metadata
- Download URL: marsilea-0.7.0.post1-py3-none-any.whl
- Upload date:
- Size: 109.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
722f47a296d34a6061c6b803dbb084c2b751b25478deed9ca2203c138c358eb7
|
|
| MD5 |
f5aaaafe647c9954b98fadf00ce0a655
|
|
| BLAKE2b-256 |
841ee30cff39b8f58a70a103bb4e5599bf82f0c52be277e144f7fa0d5d2237ce
|