Skip to content
Feature support

Feature support

Which Theme flags and Plot settings each mark honors. A blank cell means the mark ignores the flag today, or the call does not compile or raises; the column’s small print says which. Generated from each mark type’s supports_* constants (dataviz/marks.mojo) by pixi run docs, and checked against every mark’s rendered output by tests/test_feature_support.mojo, so the page and the code cannot disagree.

Mark Theme.tooltips, Plot.tooltips() Theme.show_data_labels horizontal=True annotate_line(), annotate_area() annotate_vline() annotate_band(), point, arrow, best_fit scale_x_log() scale_y_log() encode(color=, size=)
Mark.POINT ✓ ✓ ✓ ✓ ✓ ✓ ✓
Mark.LINE ✓ ✓ ✓ ✓ ✓
Mark.BAR ✓ ✓ ✓ ✓
Mark.AREA ✓ ✓ ✓ ✓
Mark.ARC ✓ ✓
Mark.LOLLIPOP ✓ ✓ ✓ ✓
Mark.WATERFALL ✓ ✓ ✓ ✓
Mark.BOX ✓ ✓ ✓
Mark.CANDLESTICK ✓ ✓ ✓
Mark.BULLET ✓ ✓ ✓ ✓
Mark.GANTT ✓ ✓ ✓
Mark.GROUPED_BAR ✓ ✓ ✓ ✓
Mark.STACKED_BAR ✓ ✓ ✓ ✓
Mark.POPULATION_PYRAMID ✓ ✓ ✓
Mark.HEATMAP ✓
Mark.CHORD ✓
Mark.SINGLE_AXIS ✓ ✓
Mark.EFFECT_SCATTER ✓ ✓ ✓ ✓ ✓ ✓ ✓
Mark.FUNNEL ✓ ✓
Mark.BUMP ✓
Mark.STREAMGRAPH ✓ ✓
Mark.BEESWARM ✓ ✓ ✓
Mark.VIOLIN ✓ ✓ ✓
Mark.RIDGELINE ✓ ✓
Mark.NIGHTINGALE ✓ ✓
Mark.POLAR_BAR ✓ ✓
Mark.POLAR ✓
Mark.RADAR ✓
Mark.GAUGE ✓
Mark.PARALLEL
Mark.SPAN_CHART ✓ ✓ ✓
Mark.CALENDAR_HEATMAP ✓
Mark.CORRPLOT ✓
Mark.PUNCHCARD ✓
Mark.MARIMEKKO ✓
Mark.SUNBURST ✓
Mark.TREE ✓
Mark.TREEMAP ✓
Mark.ARC_DIAGRAM ✓
Mark.GRAPH ✓
Mark.SANKEY ✓
Mark.RADIALBAR ✓ ✓
Mark.BARBS ✓ ✓ ✓
Mark.CONTOUR ✓ ✓ ✓
Mark.CONTOURF ✓ ✓ ✓
Mark.TRICONTOUR ✓ ✓ ✓
Mark.TRICONTOURF ✓ ✓ ✓
Mark.KDE ✓ ✓ ✓ ✓
Mark.RUG ✓ ✓
Mark.TRIPLOT ✓ ✓ ✓
Mark.TRIPCOLOR ✓ ✓ ✓
Mark.ECDF ✓ ✓ ✓ ✓
Mark.IMSHOW ✓ ✓ ✓
Mark.PCOLORMESH ✓ ✓ ✓ ✓ ✓
Mark.EVENTPLOT ✓ ✓
Mark.POINTPLOT ✓ ✓ ✓
Mark.BOXENPLOT ✓ ✓ ✓
Mark.HIST2D ✓ ✓ ✓ ✓ ✓
Mark.HEXBIN ✓ ✓ ✓ ✓ ✓
Mark.QUIVER ✓ ✓ ✓
Mark.HISTOGRAM ✓ ✓ ✓ ✓ ✓ ✓ ✓
Mark.STREAMPLOT ✓ ✓ ✓
Mark.DENDROGRAM ✓ ✓ ✓
Mark.SCATTER3D ✓
Mark.PLOT3D
Mark.SURFACE3D
Mark.WIRE3D
Mark.TRISURF3D
Mark.BAR3D
Mark.VOXELS
Mark.STEM3D
Mark.QUIVER3D
Mark.FILL_BETWEEN3D

Notes

  • Theme.tooltips, Plot.tooltips(): each datum gets an SVG <title>, shown as a hover tooltip. Tooltips.AUTO, the default, draws them only when a plot has at most Theme.auto_tooltip_limit (1,000) of them; Tooltips.ON on another mark raises.
  • Theme.show_data_labels: each value is drawn as text; other marks ignore the flag.
  • horizontal=True: the axes swap; other marks ignore the flag. GANTT, SPAN_CHART and EVENTPLOT are horizontal by construction and take no flag.
  • annotate_line(), annotate_area(): a reference line or shaded band across a continuous y axis; on a typed chart the call does not compile for other marks, and raises at render time otherwise.
  • annotate_vline(): a reference line across a continuous x axis; the call does not compile for other marks.
  • annotate_band(), point, arrow, best_fit: overlays placed on continuous x and y axes; the call does not compile for other marks.
  • scale_x_log(): a logarithmic x axis; the call does not compile for other marks.
  • scale_y_log(): a logarithmic y axis; the call does not compile for other marks. AREA and HISTOGRAM force their y domain through zero, which has no logarithm.
  • encode(color=, size=): a value or category per point drives its color or size; the call raises on other marks.

The same table from code: each mark type’s supports_* constants.