> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trainy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Line Plots

> Log metric time series and interact with line charts in Pluto

## Logging

Line plots are ideal for plotting numerical data over time — losses, accuracy, learning rates, and similar metrics.

<Info>
  Supported datatypes are `float`, `int`, or `torch.Tensor` with a single value, or arrays of such.
</Info>

```python theme={null}
pluto.log({"train/train_loss": 2})
```

<img src="https://mintcdn.com/trainy/xqSYbhN-FFuW4nHK/images/line.webp?fit=max&auto=format&n=xqSYbhN-FFuW4nHK&q=85&s=8e0fad4a8004f9b68f41e1474fc4b9ac" alt="Line" width="978" height="812" data-path="images/line.webp" />

## Viewing

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/charts-area.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=a4add7cfa1b5233c008fe90b81ca98b4" alt="Charts area" width="1920" height="1080" data-path="images/pluto/charts-area.png" />

### Zooming

Pluto line charts support interactive zooming on both axes, letting you focus on specific regions of your data.

#### X-Axis Zoom

Click and drag **horizontally** on any chart to zoom into a range of steps. All charts in the same axis group (e.g., all step-based charts) will synchronize their zoom level, so zooming on one chart zooms all related charts to the same step range.

<video src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/x-axis-zoom-vid.mp4?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=12f4fe19d5b5ef4d018a8cfe88945d91" autoPlay loop muted playsInline style={{ width: '100%', borderRadius: '0.5rem' }} data-path="images/pluto/x-axis-zoom-vid.mp4" />

#### Y-Axis Zoom

Click and drag **vertically** on a chart to zoom the Y-axis. This is useful for focusing on a narrow value range, such as when losses are tightly clustered.

<video src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/y-axis-zoom-vid.mp4?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=937ccc57012119de949a195645d64150" autoPlay loop muted playsInline style={{ width: '100%', borderRadius: '0.5rem' }} data-path="images/pluto/y-axis-zoom-vid.mp4" />

Y-axis zoom is independent per chart — it does not sync across panels.

#### Reset Zoom

Double-click on a chart to reset its zoom and return it to the full data range.

### Fullscreen View

Click the **expand** button on any chart's toolbar to open it in fullscreen.

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/fullscreen-view.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=7d1ed3a6874042e0e1239b6f0216e97a" alt="Fullscreen view" width="1920" height="1080" data-path="images/pluto/fullscreen-view.png" />

The fullscreen view provides:

* A larger canvas for detailed inspection
* A **resizable legend sidebar** on the right showing all runs with color indicators
* Click any entry in the legend sidebar to toggle that series' visibility — companion series (smoothing lines, min/max bands) toggle together automatically
* **Export** and **Chart Settings** buttons in the top-right corner
* The legend sidebar width is adjustable by dragging its edge, and persists across sessions

### Tooltip

When hovering over a line chart, a tooltip appears showing the values for all visible runs at the nearest step. The tooltip can be pinned in place for hands-free inspection, customized to show exactly the columns you need, and searched to find specific series.

#### Hovering

Move your cursor over any chart to see a floating tooltip with the current step and values for each run. The tooltip follows your cursor and updates in real time as you move along the X-axis. A vertical crosshair line indicates the exact step position.

#### Pinning

Click anywhere on a chart to **pin** the tooltip at that step. A pinned tooltip:

* Stays fixed in place while you scroll or interact with other charts
* Has a **blue border** to distinguish it from the hover tooltip
* Can be dismissed by clicking the **close button** (x) in the top-right corner

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/tooltip-pinned.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=f5090cb30365b57bf3a4d45ad57d0e77" alt="Pinned tooltip with blue border" width="1400" height="900" data-path="images/pluto/tooltip-pinned.png" />

<Note>
  Only one tooltip can be pinned at a time. Pinning a new tooltip replaces the previous one.
</Note>

#### Dragging and Resizing

Once pinned, the tooltip becomes fully interactive:

* **Drag** the tooltip by its header to reposition it anywhere on screen
* **Resize** the tooltip by dragging the handle in the bottom-right corner

This is useful when the tooltip overlaps important chart data or when you want to place it next to another chart for comparison.

#### Searching Series

The pinned tooltip includes a **search bar** at the top. Type to filter the list of series by run name, display ID, or metric name. This is especially helpful when comparing many runs and you need to find a specific one.

#### Customizing Columns

The pinned tooltip displays columns for each piece of run information. By default, it shows **Display ID**, **Run Name**, **Metric**, and **Value**.

You can customize which columns appear:

* Click the **x** button on any column header to remove it
* Click the **+ Add** button to restore removed columns

Column preferences are saved to your browser and persist across sessions.

### Chart Settings

Pluto provides two levels of chart configuration:

* **Per-chart toolbar** — Hover over any chart to reveal three buttons in the top-right corner: an **export menu** (copy to clipboard or download PNG), a **chart settings popover** (log scale toggles), and an **expand button** (fullscreen view).
  <img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/chart-toolbar.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=2e2fded599dd7d5f92a889bc7dfc5652" alt="Chart with toolbar buttons" width="599" height="402" data-path="images/pluto/chart-toolbar.png" />
  <img src="https://mintcdn.com/trainy/110C0XtRepKYeipL/images/pluto/chart-settings-dialog.png?fit=max&auto=format&n=110C0XtRepKYeipL&q=85&s=1ef978aff15c813fcaf631d3752fb77b" alt="Per-chart settings popover" width="522" height="314" data-path="images/pluto/chart-settings-dialog.png" />

* **Line Chart Settings drawer** — Accessible via the settings icon in the main toolbar. Configure global settings like X-axis metric, line width, max series, tooltip interpolation, and smoothing.
  <img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/line-settings-drawer.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=2535413266109e5f4e20392117d1b17c" alt="Line Chart Settings drawer" width="1920" height="1080" data-path="images/pluto/line-settings-drawer.png" />

#### Export

**Copy to Clipboard** — Copy the current chart as an image directly to your clipboard for pasting into documents, Slack messages, or presentations.

**Download as PNG** — Download a high-resolution PNG of the chart to your local machine.

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/export-menu.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=23a60a03958d49ebd74525fd63f84897" alt="Export menu" style={{ maxWidth: '50%' }} width="191" height="84" data-path="images/pluto/export-menu.png" />

#### X Axis

**Custom Metric** — By default, charts use the step number as the X-axis. You can select any logged metric as the X-axis instead using the searchable combobox. This is available in both the line settings drawer and the dashboard widget configuration.

**Logarithmic Scale** — Toggle logarithmic scaling on the X-axis.

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/x-axis-setting.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=edcbc6cc0b8f7334e20182ce693430d5" alt="X-axis settings" style={{ maxWidth: '50%' }} width="748" height="388" data-path="images/pluto/x-axis-setting.png" />

#### Y Axis

**Logarithmic Scale** — Toggle logarithmic scaling on the Y-axis.

**Outlier Detection** — Toggle automatic outlier detection on the Y-axis. When enabled, extreme outlier values are excluded from the Y-axis range calculation, preventing a single spike from compressing the rest of your data into a narrow band.

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/y-axis-setting.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=6ed442e08b6f0714f110c4bbec602af2" alt="Y-axis settings" style={{ maxWidth: '50%' }} width="748" height="244" data-path="images/pluto/y-axis-setting.png" />

#### Line Display

**Line Width** — Adjust the line width using a slider that ranges from 0.5px to 5px (default: 1.5px). This setting is persisted globally across all charts.

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/line-width-setting.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=a58e2da603ad987add0d1d503d678ed3" alt="Line width slider" style={{ maxWidth: '50%' }} width="748" height="276" data-path="images/pluto/line-width-setting.png" />

**Skip Missing Values** — Toggle this option to skip gaps in data instead of interpolating between them. When enabled, the chart will not draw lines connecting data points across missing values, preventing misleading visual connections across data gaps.

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/missing-values-setting.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=84143cd0b8c57ad37242149ee4b2766a" alt="Missing values toggle" style={{ maxWidth: '50%' }} width="748" height="232" data-path="images/pluto/missing-values-setting.png" />

#### Interpolation

When comparing runs that log at different step intervals, the tooltip may need to estimate values between data points. You can control this behavior in the line chart settings drawer:

* **None** — Only shows values at exact data points
* **Linear** — Interpolates linearly between neighboring data points
* **Last known** — Shows the most recent recorded value before the cursor position

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/tooltip-interpolation-setting.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=0ba24686e77e30b317ae95d9f59a936b" alt="Tooltip interpolation settings" style={{ maxWidth: '50%' }} width="748" height="510" data-path="images/pluto/tooltip-interpolation-setting.png" />

#### Performance

**Max Points Displayed** — Control how many data points are rendered per series. Choose from preset options: 500 points (fastest), 2,000 points (recommended), 5,000 points (detailed), or all points (may be slow). The default is 2,000 points.

<img src="https://mintcdn.com/trainy/110C0XtRepKYeipL/images/pluto/max-points-setting.png?fit=max&auto=format&n=110C0XtRepKYeipL&q=85&s=a3f895b99e8429a5b725e6219c363e24" alt="Max points displayed setting" style={{ maxWidth: '50%' }} width="686" height="466" data-path="images/pluto/max-points-setting.png" />

**Max Series per Chart** — Set the maximum number of series a single chart will render. When a chart exceeds this limit, a warning is displayed instead of rendering the chart. The default is **500 series**. Select **No limit** to disable the cap entirely (may be slow).

<img src="https://mintcdn.com/trainy/110C0XtRepKYeipL/images/pluto/max-series-setting.png?fit=max&auto=format&n=110C0XtRepKYeipL&q=85&s=54cb3ad017ee226eb6d3366071f8d2f2" alt="Max series per chart setting" style={{ maxWidth: '50%' }} width="686" height="512" data-path="images/pluto/max-series-setting.png" />

#### Step Deduplication

When multiple values are logged at the same step (e.g., from distributed training ranks or resumed runs), this setting uses the last-logged value per step instead of averaging all values. This eliminates artificial min/max spread in confidence bands caused by duplicate logging.

<img src="https://mintcdn.com/trainy/kkkog3NZ41Wg2Orl/images/pluto/step-dedup-setting.png?fit=max&auto=format&n=kkkog3NZ41Wg2Orl&q=85&s=9ae0f903860043e5a466ee15c0f2fa36" alt="Step deduplication setting" style={{ maxWidth: '50%' }} width="680" height="228" data-path="images/pluto/step-dedup-setting.png" />

#### Smoothing

Smoothing helps you see the underlying trend in noisy metrics by applying a mathematical filter to the raw data. For details on smoothing algorithms and controls, see [Smoothing](/pluto/smoothing).

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/smoothing-setting.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=05d1cfd946424e487be305f37248a653" alt="Smoothing settings" style={{ maxWidth: '50%' }} width="748" height="516" data-path="images/pluto/smoothing-setting.png" />
