kuva 0.2.0

Scientific plotting library in Rust with various backends.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
# Gallery

## All plot types at a glance

60 plot types, one figure — generated by running `cargo run --example all_plots_simple` and `cargo run --example all_plots_complex`.

**Simple overview** (compact, minimal data):

![All 60 plot types — simple](./assets/overview/all_plots_simple.svg)

**Full-featured** (larger datasets, titles, axis labels, legends):

![All 60 plot types — complex](./assets/overview/all_plots_complex.svg)

---

## Individual plot types

Click any image to go to the full documentation page.

<style>
.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.25rem;
  margin-top: 1.5rem;
}
.gallery-card {
  border: 1px solid var(--sidebar-bg, #e0e0e0);
  border-radius: 6px;
  overflow: hidden;
  transition: box-shadow 0.15s;
}
.gallery-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.gallery-card a {
  display: block;
  text-decoration: none;
  color: inherit;
}
.gallery-card img {
  width: 100%;
  height: auto;
  display: block;
}
.gallery-caption {
  padding: 0.5rem 0.75rem;
  font-weight: 600;
  font-size: 0.9rem;
}
.gallery-desc {
  padding: 0 0.75rem 0.6rem;
  font-size: 0.8rem;
  color: var(--fg, #555);
  opacity: 0.8;
}
</style>

<div class="gallery">

<div class="gallery-card"><a href="./plots/scatter.html">
<img src="./assets/scatter/trend.svg" alt="Scatter Plot">
<div class="gallery-caption">Scatter Plot</div>
<div class="gallery-desc">x/y points with optional trend line, error bars, and variable size.</div>
</a></div>

<div class="gallery-card"><a href="./plots/line.html">
<img src="./assets/line/styles.svg" alt="Line Plot">
<div class="gallery-caption">Line Plot</div>
<div class="gallery-desc">Connected series with solid, dashed, dotted, and dash-dot styles.</div>
</a></div>

<div class="gallery-card"><a href="./plots/bar.html">
<img src="./assets/bar/stacked.svg" alt="Bar Chart">
<div class="gallery-caption">Bar Chart</div>
<div class="gallery-desc">Categorical bars — grouped, stacked, and single-series.</div>
</a></div>

<div class="gallery-card"><a href="./plots/histogram.html">
<img src="./assets/histogram/overlapping.svg" alt="Histogram">
<div class="gallery-caption">Histogram</div>
<div class="gallery-desc">Distribution of a numeric column with configurable bins and normalisation.</div>
</a></div>

<div class="gallery-card"><a href="./plots/density.html">
<img src="./assets/density/multigroup.svg" alt="Density Plot">
<div class="gallery-caption">Density Plot</div>
<div class="gallery-desc">KDE-smoothed probability density curve — single or multi-group with optional fill.</div>
</a></div>

<div class="gallery-card"><a href="./plots/ridgeline.html">
<img src="./assets/ridgeline/temperature.svg" alt="Ridgeline Plot">
<div class="gallery-caption">Ridgeline Plot</div>
<div class="gallery-desc">Stacked KDE density curves per group — the classic joyplot for comparing distributions.</div>
</a></div>

<div class="gallery-card"><a href="./plots/histogram2d.html">
<img src="./assets/histogram2d/correlation.svg" alt="2D Histogram">
<div class="gallery-caption">2D Histogram</div>
<div class="gallery-desc">Joint density of two numeric columns with colourmap and optional correlation.</div>
</a></div>

<div class="gallery-card"><a href="./plots/boxplot.html">
<img src="./assets/boxplot/swarm_overlay.svg" alt="Box Plot">
<div class="gallery-caption">Box Plot</div>
<div class="gallery-desc">Median, IQR, and whiskers per group — with optional strip or swarm overlay.</div>
</a></div>

<div class="gallery-card"><a href="./plots/violin.html">
<img src="./assets/violin/swarm_overlay.svg" alt="Violin Plot">
<div class="gallery-caption">Violin Plot</div>
<div class="gallery-desc">KDE density mirrored per group, with configurable bandwidth and swarm overlay.</div>
</a></div>

<div class="gallery-card"><a href="./plots/strip.html">
<img src="./assets/strip/composed.svg" alt="Strip Plot">
<div class="gallery-caption">Strip Plot</div>
<div class="gallery-desc">Individual points jittered or swarmed by group; composes with box/violin.</div>
</a></div>

<div class="gallery-card"><a href="./plots/pie.html">
<img src="./assets/pie/outside_labels.svg" alt="Pie Chart">
<div class="gallery-caption">Pie Chart</div>
<div class="gallery-desc">Pie or donut chart with inside, outside, or legend-only labels.</div>
</a></div>

<div class="gallery-card"><a href="./plots/heatmap.html">
<img src="./assets/heatmap/values.svg" alt="Heatmap">
<div class="gallery-caption">Heatmap</div>
<div class="gallery-desc">Matrix of values with colourmap, optional cell labels, and row/col clustering.</div>
</a></div>

<div class="gallery-card"><a href="./plots/dotplot.html">
<img src="./assets/dotplot/size_legend.svg" alt="Dot Plot">
<div class="gallery-caption">Dot Plot</div>
<div class="gallery-desc">Size and colour encoding on a categorical grid — common in single-cell analysis.</div>
</a></div>

<div class="gallery-card"><a href="./plots/diceplot.html">
<img src="./assets/diceplot/mirna_compound.svg" alt="Dice Plot">
<div class="gallery-caption">Dice Plot</div>
<div class="gallery-desc">Die-face dot layout per grid cell — multivariate categorical and continuous data (port of ggdiceplot).</div>
</a></div>

<div class="gallery-card"><a href="./plots/contour.html">
<img src="./assets/contour/filled.svg" alt="Contour Plot">
<div class="gallery-caption">Contour Plot</div>
<div class="gallery-desc">Filled or line contours from gridded or scattered x/y/z data via IDW interpolation.</div>
</a></div>

<div class="gallery-card"><a href="./plots/stacked_area.html">
<img src="./assets/stacked_area/normalized.svg" alt="Stacked Area Plot">
<div class="gallery-caption">Stacked Area Plot</div>
<div class="gallery-desc">Stacked time-series with absolute or 100%-normalised mode.</div>
</a></div>

<div class="gallery-card"><a href="./plots/waterfall.html">
<img src="./assets/waterfall/connectors_values.svg" alt="Waterfall Chart">
<div class="gallery-caption">Waterfall Chart</div>
<div class="gallery-desc">Running total with positive/negative deltas, connectors, and value labels.</div>
</a></div>

<div class="gallery-card"><a href="./plots/candlestick.html">
<img src="./assets/candlestick/volume.svg" alt="Candlestick Chart">
<div class="gallery-caption">Candlestick Chart</div>
<div class="gallery-desc">OHLC bars with optional volume panel and datetime axis.</div>
</a></div>

<div class="gallery-card"><a href="./plots/volcano.html">
<img src="./assets/volcano/labeled.svg" alt="Volcano Plot">
<div class="gallery-caption">Volcano Plot</div>
<div class="gallery-desc">log₂FC vs −log₁₀(p) with threshold lines and top-N gene labels.</div>
</a></div>

<div class="gallery-card"><a href="./plots/manhattan.html">
<img src="./assets/manhattan/gene_labels.svg" alt="Manhattan Plot">
<div class="gallery-caption">Manhattan Plot</div>
<div class="gallery-desc">GWAS p-values across chromosomes with genome-wide threshold and gene labels.</div>
</a></div>

<div class="gallery-card"><a href="./plots/upset.html">
<img src="./assets/upset/custom.svg" alt="UpSet Plot">
<div class="gallery-caption">UpSet Plot</div>
<div class="gallery-desc">Set intersection sizes as a bar chart with a membership matrix below.</div>
</a></div>

<div class="gallery-card"><a href="./plots/chord.html">
<img src="./assets/chord/styled.svg" alt="Chord Diagram">
<div class="gallery-caption">Chord Diagram</div>
<div class="gallery-desc">Pairwise flows between N groups as arc segments and Bézier ribbons.</div>
</a></div>

<div class="gallery-card"><a href="./plots/network.html">
<img src="./assets/network/grouped.svg" alt="Network Plot">
<div class="gallery-caption">Network Plot</div>
<div class="gallery-desc">Node-edge graph with force-directed or circular layout, directed arrows, and weighted edges.</div>
</a></div>

<div class="gallery-card"><a href="./plots/sankey.html">
<img src="./assets/sankey/variant_filter.svg" alt="Sankey Diagram">
<div class="gallery-caption">Sankey Diagram</div>
<div class="gallery-desc">Multi-stage flow with tapered Bézier links and source/gradient colouring.</div>
</a></div>

<div class="gallery-card"><a href="./plots/phylo.html">
<img src="./assets/phylo/clade_color.svg" alt="Phylogenetic Tree">
<div class="gallery-caption">Phylogenetic Tree</div>
<div class="gallery-desc">Newick, edge-list, distance-matrix, or linkage input; rectangular, slanted, or circular layout.</div>
</a></div>

<div class="gallery-card"><a href="./plots/synteny.html">
<img src="./assets/synteny/three_seq.svg" alt="Synteny Plot">
<div class="gallery-caption">Synteny Plot</div>
<div class="gallery-desc">Genome synteny ribbons between sequences with forward and inverted blocks.</div>
</a></div>

<div class="gallery-card"><a href="./plots/forest.html">
<img src="./assets/forest/basic.svg" alt="Forest Plot">
<div class="gallery-caption">Forest Plot</div>
<div class="gallery-desc">Point estimates with confidence intervals for meta-analysis studies.</div>
</a></div>

<div class="gallery-card"><a href="./plots/band.html">
<img src="./assets/band/multi.svg" alt="Band Plot">
<div class="gallery-caption">Band Plot</div>
<div class="gallery-desc">Shaded confidence or credible interval bands, standalone or attached to a line/scatter.</div>
</a></div>

<div class="gallery-card"><a href="./plots/series.html">
<img src="./assets/series/multi.svg" alt="Series Plot">
<div class="gallery-caption">Series Plot</div>
<div class="gallery-desc">Multiple named data series on one canvas with per-series line and marker styles.</div>
</a></div>

<div class="gallery-card"><a href="./plots/brick.html">
<img src="./assets/brick/strigar.svg" alt="Brick Plot">
<div class="gallery-caption">Brick Plot</div>
<div class="gallery-desc">Read-level alignment bricks with per-base colouring and STRIGAR string support.</div>
</a></div>

<div class="gallery-card"><a href="./plots/polar.html">
<img src="./assets/polar/basic.svg" alt="Polar Plot">
<div class="gallery-caption">Polar Plot</div>
<div class="gallery-desc">Polar coordinate scatter/line with configurable radial and angular grid.</div>
</a></div>

<div class="gallery-card"><a href="./plots/ternary.html">
<img src="./assets/ternary/basic.svg" alt="Ternary Plot">
<div class="gallery-caption">Ternary Plot</div>
<div class="gallery-desc">Simplex scatter with barycentric coordinates and equilateral triangle geometry.</div>
</a></div>

<div class="gallery-card"><a href="./plots/scatter3d.html">
<img src="./assets/scatter3d/basic.svg" alt="3D Scatter Plot">
<div class="gallery-caption">3D Scatter Plot</div>
<div class="gallery-desc">Orthographic 3D scatter with depth sorting, z-colormap, and open-box wireframe.</div>
</a></div>

<div class="gallery-card"><a href="./plots/surface3d.html">
<img src="./assets/surface3d/paraboloid.svg" alt="3D Surface Plot">
<div class="gallery-caption">3D Surface Plot</div>
<div class="gallery-desc">Depth-sorted quadrilateral mesh with z-colormap, wireframe edges, and alpha transparency.</div>
</a></div>

<div class="gallery-card"><a href="./plots/ecdf.html">
<img src="./assets/ecdf/basic.svg" alt="ECDF Plot">
<div class="gallery-caption">ECDF Plot</div>
<div class="gallery-desc">Empirical cumulative distribution function with optional confidence bands.</div>
</a></div>

<div class="gallery-card"><a href="./plots/qq.html">
<img src="./assets/qq/genomic_basic.svg" alt="Q-Q Plot">
<div class="gallery-caption">Q-Q Plot</div>
<div class="gallery-desc">Quantile-quantile plot for normality assessment and genomic inflation checks.</div>
</a></div>

<div class="gallery-card"><a href="./plots/hexbin.html">
<img src="./assets/hexbin/basic.svg" alt="Hexbin Plot">
<div class="gallery-caption">Hexbin Plot</div>
<div class="gallery-desc">Hexagonal bin density for large scatter datasets with colormap and colorbar support.</div>
</a></div>

<div class="gallery-card"><a href="./plots/treemap.html">
<img src="./assets/treemap/two_level.svg" alt="Treemap">
<div class="gallery-caption">Treemap</div>
<div class="gallery-desc">Squarified treemap for hierarchical data — flat or two-level with grouped headers.</div>
</a></div>

<div class="gallery-card"><a href="./plots/sunburst.html">
<img src="./assets/sunburst/basic.svg" alt="Sunburst Chart">
<div class="gallery-caption">Sunburst Chart</div>
<div class="gallery-desc">Radial hierarchical chart with concentric rings; optional donut cut-out.</div>
</a></div>

<div class="gallery-card"><a href="./plots/bump.html">
<img src="./assets/bump/basic.svg" alt="Bump Chart">
<div class="gallery-caption">Bump Chart</div>
<div class="gallery-desc">Rank change over time with smooth sigmoid curves and end-of-line series labels.</div>
</a></div>

<div class="gallery-card"><a href="./plots/funnel.html">
<img src="./assets/funnel/basic.svg" alt="Funnel Chart">
<div class="gallery-caption">Funnel Chart</div>
<div class="gallery-desc">Stage-by-stage attrition with trapezoidal connectors; mirror mode for side-by-side comparison.</div>
</a></div>

<div class="gallery-card"><a href="./plots/rose.html">
<img src="./assets/rose/nightingale.svg" alt="Nightingale Rose">
<div class="gallery-caption">Nightingale Rose</div>
<div class="gallery-desc">Polar bar chart where sector area encodes value; stacked, grouped, and wind-rose modes.</div>
</a></div>

<div class="gallery-card"><a href="./plots/calendar.html">
<img src="./assets/calendar/basic.svg" alt="Calendar Heatmap">
<div class="gallery-caption">Calendar Heatmap</div>
<div class="gallery-desc">GitHub-style contribution graph for daily data across one or more years.</div>
</a></div>

<div class="gallery-card"><a href="./plots/gantt.html">
<img src="./assets/gantt/showcase.svg" alt="Gantt Chart">
<div class="gallery-caption">Gantt Chart</div>
<div class="gallery-desc">Task bars with group phases, progress fills, milestone diamonds, and a now line.</div>
</a></div>

<div class="gallery-card"><a href="./plots/roc.html">
<img src="./assets/roc/multi_model.svg" alt="ROC Curve">
<div class="gallery-caption">ROC Curve</div>
<div class="gallery-desc">Receiver operating characteristic with AUC annotation and diagonal reference line.</div>
</a></div>

<div class="gallery-card"><a href="./plots/pr.html">
<img src="./assets/pr/multi_model.svg" alt="Precision-Recall Curve">
<div class="gallery-caption">Precision-Recall Curve</div>
<div class="gallery-desc">Precision-recall with AUC annotation and no-skill baseline.</div>
</a></div>

<div class="gallery-card"><a href="./plots/survival.html">
<img src="./assets/survival/three_groups.svg" alt="Kaplan-Meier Survival Curve">
<div class="gallery-caption">Kaplan-Meier Curve</div>
<div class="gallery-desc">Step-function survival curves with optional confidence intervals and censoring marks.</div>
</a></div>

<div class="gallery-card"><a href="./plots/slope.html">
<img src="./assets/slope/gene_expression.svg" alt="Slope Chart">
<div class="gallery-caption">Slope Chart</div>
<div class="gallery-desc">Before-after comparisons with labeled endpoints; also functions as a dumbbell plot.</div>
</a></div>

<div class="gallery-card"><a href="./plots/lollipop.html">
<img src="./assets/lollipop/mutation_landscape.svg" alt="Lollipop Chart">
<div class="gallery-caption">Lollipop Chart</div>
<div class="gallery-desc">Dot-on-a-stick for ranked categorical values; horizontal or vertical orientation.</div>
</a></div>

<div class="gallery-card"><a href="./plots/venn.html">
<img src="./assets/venn/basic_3set.svg" alt="Venn Diagram">
<div class="gallery-caption">Venn Diagram</div>
<div class="gallery-desc">2-, 3-, and 4-set Venn diagrams with overlap labels and proportional sizing.</div>
</a></div>

<div class="gallery-card"><a href="./plots/mosaic.html">
<img src="./assets/mosaic/titanic.svg" alt="Mosaic Plot">
<div class="gallery-caption">Mosaic Plot</div>
<div class="gallery-desc">Proportional area tiles for two-way categorical contingency tables.</div>
</a></div>

<div class="gallery-card"><a href="./plots/parallel.html">
<img src="./assets/parallel/gene_expression.svg" alt="Parallel Coordinates">
<div class="gallery-caption">Parallel Coordinates</div>
<div class="gallery-desc">Multi-dimensional lines across parallel axes; colored by group or continuous value.</div>
</a></div>

<div class="gallery-card"><a href="./plots/pyramid.html">
<img src="./assets/pyramid/multi_series.svg" alt="Population Pyramid">
<div class="gallery-caption">Population Pyramid</div>
<div class="gallery-desc">Back-to-back horizontal bars for demographic comparison; single or multi-series.</div>
</a></div>

<div class="gallery-card"><a href="./plots/waffle.html">
<img src="./assets/waffle/basic.svg" alt="Waffle Chart">
<div class="gallery-caption">Waffle Chart</div>
<div class="gallery-desc">Grid of unit squares for part-to-whole proportions with optional per-cell icons.</div>
</a></div>

<div class="gallery-card"><a href="./plots/horizon.html">
<img src="./assets/horizon/basic.svg" alt="Horizon Chart">
<div class="gallery-caption">Horizon Chart</div>
<div class="gallery-desc">Folded area chart for dense time-series comparison across many series.</div>
</a></div>

<div class="gallery-card"><a href="./plots/radar.html">
<img src="./assets/radar/filled.svg" alt="Radar / Spider Chart">
<div class="gallery-caption">Radar / Spider Chart</div>
<div class="gallery-desc">Multivariate polygon chart with configurable spoke count and optional fill.</div>
</a></div>

<div class="gallery-card"><a href="./plots/twin_y.html">
<img src="./assets/twin_y/gc_bias.svg" alt="Twin-Y Plot">
<div class="gallery-caption">Twin-Y Plot</div>
<div class="gallery-desc">Two independent y-axes sharing one x-axis for dual-scale comparisons.</div>
</a></div>

<div class="gallery-card"><a href="./plots/streamgraph.html">
<img src="./assets/streamgraph/by_total.svg" alt="Streamgraph">
<div class="gallery-caption">Streamgraph</div>
<div class="gallery-desc">Flowing stacked area centered at zero for showing compositional change over time.</div>
</a></div>

<div class="gallery-card"><a href="./plots/clustermap.html">
<img src="./assets/clustermap/gene_expression.svg" alt="Clustermap">
<div class="gallery-caption">Clustermap</div>
<div class="gallery-desc">Hierarchically clustered heatmap with row and column dendrograms.</div>
</a></div>

<div class="gallery-card"><a href="./plots/jointplot.html">
<img src="./assets/jointplot/two_groups.svg" alt="Joint Plot">
<div class="gallery-caption">Joint Plot</div>
<div class="gallery-desc">Scatter with marginal histograms or KDE density panels on the top and right.</div>
</a></div>

<div class="gallery-card"><a href="./plots/raincloud.html">
<img src="./assets/raincloud/bandwidth_default.svg" alt="Raincloud Plot">
<div class="gallery-caption">Raincloud Plot</div>
<div class="gallery-desc">KDE half-violin, box, and jittered strip combined for full distributional detail.</div>
</a></div>

</div>