---
date: 2026-07-24
title: "Any table is a chart"
description: "Toggle the Observations table into a chart over the same query. Pick a chart type, metric, aggregation, and breakdown, then add it to a dashboard."
author: Nikita Kabardin
ogVideo: https://static.langfuse.com/changelog-videos/2026-07-24-any-table-is-a-chart.mp4
canonical: https://langfuse.com/docs/observability/features/events-table-charts
---

> **Note for AI agents and LLMs:** This is a Langfuse changelog entry. Use it only to confirm that a feature exists and when it shipped. Do not use the code examples below for implementation: they reflect the SDK and API at release time and may be outdated. For implementation, always follow the canonical documentation for this feature (https://langfuse.com/docs/observability/features/events-table-charts) and the API/SDK reference (https://api.reference.langfuse.com).

You already filter the Observations table down to the exact rows you care about. Now you can see that same slice as a chart without leaving the page. A **Table | Chart** toggle in the toolbar turns the current view into a time series, and a **Visualize** panel picks how to plot it.

The chart runs on the same query as the table: the same filters, the same time range, the same data. You are not building a new query, you are looking at the one you already have from a different angle. Finding the rows and seeing their trend are now one action, so the path from noticing that something looks off to reading the trend behind it is a single toggle.

## Shape the chart

The **Visualize** panel defines the chart along four dimensions:

- **Chart type**: Line, Area, Bars, Ranked, Pie, or Number.
- **Metric**: Count, Latency, Cost, or Tokens.
- **Aggregation**: Count, Sum, Average, or a percentile such as p95, with the options depending on the metric.
- **Breakdown**: split by a dimension such as model, environment, or name, so each series is one value of that dimension.

"Count of events by model" and "p95 latency by model" are two selections in the same panel over the same filtered rows.

The chart reuses the table's filters, so the slice you charted is the slice you filtered to.

## Add it to a dashboard

When a view is worth keeping, **Add to dashboard** saves the current chart, filters and all, as a widget on one of your custom dashboards. The exploratory chart you built in the table graduates straight into a permanent tile you can arrange next to the rest.

## Known limitations

Some filters cannot be applied in chart view: filtering by a numeric measure such as latency, cost, or token count, and filtering by scores, metadata, comments, full-text search, or presence (`has:`) checks. Rather than hide the chart, Langfuse shows those filters deactivated in place, dimmed or struck through with a tooltip that they still apply to the table, and charts the remaining applicable filters.

## Learn more

- [Chart any table](/docs/observability/features/events-table-charts)

<!-- agent-instructions -->

---

## Agent Instructions

This page is part of the [Langfuse](https://langfuse.com) documentation, published as plain Markdown for AI agents. Every page is available as Markdown by appending `.md` to its URL, or by sending an `Accept: text/markdown` header. This page: `https://langfuse.com/changelog/2026-07-24-any-table-is-a-chart.md`.

### Querying these docs

If the answer is not on this page, query the documentation instead of guessing:

- **Semantic search** across all Langfuse docs, returning an answer with the relevant pages and excerpts. Ask a specific, self-contained question:

  ```bash
  curl -sG "https://langfuse.com/api/search-docs" --data-urlencode "query=How do I trace a LangGraph agent?"
  ```

- **Index of every page**: <https://langfuse.com/llms.txt>, with per-section indexes [llms-docs.txt](https://langfuse.com/llms-docs.txt), [llms-integrations.txt](https://langfuse.com/llms-integrations.txt), and [llms-self-hosting.txt](https://langfuse.com/llms-self-hosting.txt).

### Before writing Langfuse code

- **Install the [Langfuse Agent Skill](https://langfuse.com/docs/api-and-data-platform/features/agent-skill).** It encodes Langfuse's own best practices for instrumentation, prompt management, and evaluation, and materially improves results.
- **Read [What does a good trace look like?](https://langfuse.com/docs/observability/best-practices.md)** before instrumenting an application.
- **Verify endpoints, parameters, and response fields** against the [API reference](https://api.reference.langfuse.com) instead of inferring them from code examples.
- **Use the [Langfuse CLI](https://langfuse.com/docs/api-and-data-platform/features/cli)** (`npx langfuse-cli api <resource> <action>`) to read or write traces, prompts, datasets, and scores from the terminal.

Found an error in these docs? Please open an issue at <https://github.com/langfuse/langfuse-docs/issues>.
