Chart cells.

Pick a DataFrame, pick a chart type, map columns to axes — Orchid renders a Plotly chart. No plotting code required.

Binding to a DataFrame

Every chart cell has a Source picker that lists every DataFrame currently in scope. Run a SQL cell above or assign a DataFrame in a Python cell, and it appears in the picker.

If you change the source DataFrame, the chart re-renders automatically the next time you run its cell. No need to clear it manually.

A chart cell with source DataFrame, chart type selector, and x/y/color axis pickers./docs-images/notebooks/chart-header.png
Source on the left, encoding panel on the right.

Chart types

The cell header lists the chart families we support out of the box:

  • Line — time series and continuous trends
  • Bar — grouped or stacked categorical
  • Scatter — two numeric columns; supports size and color encoding
  • Area — cumulative or stacked composition over time
  • Histogram — distribution of a single numeric column
  • Box / Violin — distribution by group
  • Heatmap — two-axis density
  • Pie / Donut — small-set composition

Configuring encoding

After picking a type, map columns to channels in the encoding panel: X, Y, Color, Facet, Size. Orchid suggests sensible defaults — first numeric column for Y, first temporal or categorical column for X — that you can override anytime.

Aggregations apply per column. Pick from sum, mean, median, min, max, count — or none to skip aggregation entirely.

Plotly under the hood

Charts render with Plotly, so you get pan, zoom, hover tooltips, legend toggling, and PNG export for free. The toolbar in the chart's top-right has the usual Plotly controls.

Need finer control? Toggle Code view in the cell header to drop down to the underlying plotly.express call. Edit the Python directly and Orchid will keep it in sync with the encoding panel where it can; once you stray off-template, the cell stays in pure-code mode.

# Equivalent of the chart cell, in code view
import plotly.express as px
fig = px.bar(
    revenue_by_month,
    x="month", y="revenue", color="channel",
    barmode="group",
)
fig.update_layout(template="orchid_dark")
fig
Tip

The orchid_dark Plotly template ships with the bundled Python and matches the IDE's theme. Use it in code-view charts to keep visuals consistent across the notebook.

Pinning to a dashboard

Right-click any chart cell and pick Pin to dashboard. The chart becomes a live tile — re-run the source cell, the tile refreshes. See Tile types for the full story.

Performance

Most DataFrames render instantly. On large inputs, Orchid samples or aggregates — visible as a small badge in the bottom-left of the chart. Set Sampling to off in the cell options if you need every row, with the caveat that rendering may slow down.

Heads up

Charts don't define new variables — they consume one DataFrame and render one figure. To compose multiple series, build the DataFrame first (with a SQL or Python cell) and let one chart cell read it.

Back to Cells & blocks, on to Outputs & exports, or jump to the Notebooks overview.