Skip to content

Style Line

tempus2016 edited this page Nov 11, 2026 · 5 revisions

Line (v1.2.0+)

The line chart, two temperatures over two days with value and time labels

The first history chart. It draws how one or more sensors changed over a period, from the recorder's history or its long-term statistics. Above the chart sits a row with each entity's colour, name and current value; tapping a name opens the entity, as on the other styles. Hovering over the chart, or dragging a finger across it, shows every series' value at that moment.

Good for

Temperatures, humidity, power, prices: anything where the shape over the last hours or days matters more than the number right now.

Example

type: custom:chartdeck-card
style: line
title: Temperatures
period:
  last: 2
  unit: day
entities:
  - entity: sensor.living_room_temperature
    name: Living room
  - entity: sensor.outside_temperature
    name: Outside
    dash: true
    line_width: 4
    on_top: true

To use this style, set style: line (or pick Line under History charts in the editor's Style section). Everything below is in the editor's Chart section; the per-entity options are in each entity's options.

Period and source

period

How far back the chart looks: last (a whole number, 1 or more) and unit (hour, day, week or month). The default is the last 24 hours (the column chart's is the last 7 days). The chart keeps moving: new states are added as they arrive, without polling, and loading pauses while the card is off screen.

period:
  last: 7
  unit: day

Calendar periods (v1.3.0+)

A line chart of today, with previous and next buttons above the names

Instead of a rolling span, a chart can show a calendar span: today, this week, this month or this year. It can also show an earlier one, and put previous and next buttons on the card.

period:
  calendar: week   # day, week, month or year
  offset: 1        # the same span this many spans ago: last week
  until: now       # current span only: draw to now (default) or to its end
  navigate: true   # previous / next buttons, and one back to the current span
  • calendar is day, week, month or year. With it set, last and unit are ignored. A day runs midnight to midnight, so a day with a clock change is 23 or 25 hours long.
  • offset (a whole number, 0 by default) steps back that many spans: calendar: day with offset: 1 is yesterday. It works on a rolling span too: the last 24 hours with offset: 1 is the 24 hours before those.
  • until only matters for the current calendar span. now (the default) ends the chart at the present moment; end draws the whole span, leaving the part still to come empty. Earlier spans always run to their end.
  • navigate: true adds ‹ and › buttons and a third button named after the card's own span (Today, This week…) to return to it. Next stops at the present. The position isn't saved to the card's config: reloading the dashboard, or editing the period, returns to the configured span.

Days, weeks, months and years follow the time zone setting in your Home Assistant profile: the server's zone when the profile says so, otherwise the browser's. Weeks start on the first weekday set in the profile, or the language's, or Monday.

A span that is wholly in the past is loaded once and stays as it is. The current span keeps moving as new states arrive.

In the editor: Chart section, Period (The last…, Today, This week, This month, This year), then either Show the last and Unit, or Draw up to; then Periods back and Show previous and next buttons.

Grouping readings (v1.3.0+)

A chart can combine its readings into one value per hour, day, week or month before drawing, so a line shows the daily average or each day's energy instead of every change.

group_by: day       # hour, day, week or month
aggregate: change   # mean (default), sum, min, max, first, last or change
  • mean: the average, weighted by how long each value held. History records changes rather than regular samples, so a burst of changes doesn't outweigh a long steady stretch. Home Assistant's own statistics average the same way.
  • min and max: the lowest and highest values in the group, including the one carried in from before it.
  • first and last: the value at the group's start and the last one in it.
  • sum: the readings taken in the group, added up.
  • change: how much a meter that counts up rose during the group (energy per day, rain per hour). A drop of more than a tenth counts as a reset, and counting starts again from the new reading; smaller drops are treated as noise.

Groups follow the calendar in your Home Assistant time zone, as calendar periods do, and the chart starts where its first group starts: the last 7 days grouped by day begin at midnight. A group with no readings, or one that hasn't started yet, is left as a gap, never drawn as zero. The current group counts up to now.

With source: statistics, the card asks the recorder for the column it needs (change for sum and change, state for first and last, otherwise mean, min or max). When the server's calendar matches the card's (same time zone, weeks from Monday) it asks for rows a whole group long. Otherwise it asks for hourly rows and groups them itself, so a browser in another time zone still gets its own days.

In the editor: Chart section, Group readings by, and Combine with once a grouping is chosen.

source

history (the default) reads the recorder's state history, every change. statistics reads the long-term statistics, which reach back further than the recorder keeps history but only exist for sensors with a state_class. The statistics period (5 minutes, hourly, daily or monthly) is picked to suit the span.

Gaps where a sensor was unavailable are left as gaps. Long histories are thinned so a wall tablet stays quick.

Lines

curve

smooth (the default, never overshooting a reading), straight or step. Set on the card for every line, or on an entity for just that one.

line_width and dots

line_width is the line's width in px, from 0.5 to 12 (2.5 by default). dots: true puts a dot at each reading. Both are set on the card and can be overridden per entity. Dots mark real readings only, and are left off a series with more than 200 readings, where they would merge into a thick line.

Per entity: color, dash and on_top

  • color is a palette name or any CSS colour.
  • dash: true draws the line dashed.
  • on_top: true draws the line above the others where they overlap. Lines are otherwise drawn in the listed order, so the last is on top. The header and tooltip keep the listed order.

color_by

series (the default) gives each line its own colour. bands colours the line by the colour bands, so it changes colour where it crosses a threshold.

labels

labels: true prints the value at each reading. Since v2.0.0 you can choose which readings get one, where it sits, and whether labels may overlap: see Value labels.

Axes and gridlines

axis_labels: outside
gridlines:
  horizontal: true
  vertical: false
y_min: 0
y_max: 30
  • Value labels go up the side in round steps (1, 2 or 5 times a power of ten), with a little headroom above and below the readings.
  • Time labels land on round wall-clock times that suit the span: hours (with the day's name at midnight), day names for a week, day and month for longer, months with the year at January. They follow the language, 12/24-hour clock and time zone in your Home Assistant profile, and how many fit follows the card's width.
  • axis_labels: outside (the default) puts the labels beside the plot; inside puts them over its edges.
  • x_axis: false hides the time labels; y_axis: false hides the value labels.
  • gridlines.horizontal (on by default) and gridlines.vertical (off by default) switch the lines across and down the plot.
  • y_min and y_max fix either end of the value scale. A reading past a fixed end is cut off at the plot's edge. y_min must be below y_max.

Hover and touch

On by default. Moving the pointer over the chart, or dragging a finger across it, shows a guide line with a dot on each series and a box listing the time and every series' value, with the entity's own decimals and unit. An entity with no reading at that moment shows a dash. On touch, sideways drags read the chart while up and down still scrolls the page, and the box stays up for three seconds after the finger lifts.

tooltip: false turns it off (Show values on hover or touch in the editor).

Compact layout and the names row

compact: true
header: over
  • compact: true cuts the card's padding, tightens the names row, shortens the plot from 180 to 110 px and uses smaller axis text.
  • header places the row of names and current values: above (the default), over the chart's top-left corner on a light wash of the card's background, or hidden. Names over the chart still open their entity on tap. A hidden header leaves nothing to tap, so the entities' tap actions don't apply.

Zoom, pan and the overview strip (v2.0.0+)

A line chart with an overview strip under it

zoom: true
overview: true
Option Default What it does
zoom false Lets you zoom into part of the chart and pan around it
overview false Adds a strip under the chart showing the whole span, with the part on show marked

With zoom: true:

  • A mouse drag across the chart selects a span and zooms into it. Once zoomed, dragging pans instead.
  • Two fingers pinch to zoom and move together to pan.
  • Ctrl + scroll (or a trackpad pinch) zooms about the pointer, and sideways scroll pans.
  • A double click or double tap goes back to the whole span, as does the Reset zoom button that appears while zoomed.
  • One finger still scrubs the hover readout, and up and down still scroll the page.

Zoomed in, the chart draws only the readings in its window (and one either side), and the value axis fits them. The shortest span you can zoom to is two groups when readings are grouped, otherwise five minutes. The zoom lives on the card, not in its config: it starts again from the whole span when you step to another period or reload the dashboard.

overview: true draws a strip under the chart with every series' line over the whole span and a window marking the part on show. Drag the window to move it, drag its edges to resize it, or drag across the strip to choose a new one. Tap the strip to centre the window there, and double-tap to show everything again. With the strip focused, the arrow keys move the window, up and down (or + and −) zoom, and Escape resets. The strip works with or without zoom.

Zoom and the overview strip are on the line chart only, and are not drawn when the card shows small multiples.

In the editor: Chart section, Zoom and pan (pinch, Ctrl + scroll or drag) and Overview strip below the chart.

Annotations (v2.0.0+)

A line chart with a target line, a comfort band, a daily time mark and a label on the peak

Annotations mark things on the chart that aren't readings: a target, a comfort range, a time of day, when something switched on, or a label on a reading.

annotations:
  - type: line
    value: 21
    label: Target
  - type: band
    from: 18
    to: 20
    label: Comfort
    color: green
  - type: time
    times: "07:00"
    label: Wake
  - type: state
    entity: binary_sensor.window
    state: "on"
    shade: true
    label: Window open
  - type: point
    at: max
    label: Peak
zones: true
type Options What it draws
line value (needed), dash (default true) A line across the chart at a value
band from, to (one is needed) A shaded band between two values; leave one out to run to the chart's edge
time times A line down the chart at each time: "07:00" every day, or "2026-10-28 07:00" once; a list, or text with commas
state entity (needed), state, shade A mark each time the entity changes (or changes to state); shade: true also shades the stretches while it is in that state
point at (max, min, last or first), entity A label on that reading of a series (the first series unless entity names another)

Every annotation also takes label and color (a palette name or any CSS colour). Default colours are red for lines, green for bands, grey for times, amber for states and the primary colour for points. value, from and to can be a number or an entity id whose state is the number, so a threshold can follow an input_number. Since v2.2.0, an entity's state is converted from its own unit to the chart's unit when the two are a known pair (a °F helper on a °C chart lands at the right height; see unit conversion). Numbers you type are never converted.

  • Threshold lines widen the value axis, so a target outside the readings' range still shows.
  • Labels for time and state marks run along the top of the plot in two rows. Above 60 marks from one annotation, only the lines are drawn, since the labels would smear together.
  • zones: true shades the first entity's colour bands faintly behind the chart, as severity zones.
  • A mistake in an annotation (a missing value on a line, a time the card can't read) is reported on the card with the entry's position, such as "annotations[2].times" has "7am": use 07:00 or 2026-10-28 07:00.

Annotations are on the line chart only, and are not drawn when the card shows small multiples.

In the editor: Chart section, Shade the severity bands behind the chart for zones, then the Annotations list under it. Add an annotation: has a button for each kind, and each entry has its own fields.

Thresholds that follow an entity's history (v2.2.0+)

A line chart of a home battery's charge over today, with the tariff drawn as a stepped dashed line and the area under each step shaded green, amber or red by the rate

A line annotation whose value is an entity sits at that entity's current state. With history: true it follows the entity's history over the chart's span instead, as a stepped line: each state held until the next. That fits a tariff that changes every half hour, or a thermostat's set point through the day.

annotations:
  - type: line
    value: sensor.electricity_rate
    history: true      # follow the entity's history (default false)
    zone: below        # shade above or below the line (default: no shading)
    label: Rate p/kWh
    color: grey
    severity:          # optional: shade each step by its value
      - from: 0
        color: green
      - from: 20
        color: amber
      - from: 30
        color: red
Option Default What it does
history false Draws the entity's history over the span as a stepped line
zone none above or below: shades the side of the stepped line, in the annotation's colour
severity none Colour bands for the zone: each step is shaded in the colour of the band its value falls in
  • Unavailable stretches end the line; the value before a gap holds up to the gap. The last value carries on to now (or the end of the span).
  • The value axis widens to every step in the span, so a past peak is on show.
  • The history loads the way the chart's own series do. A span over 7 days, or a card with source: statistics, reads long-term statistics; an entity without statistics (no state_class) falls back to history. While it loads, or if it can't be read, the line sits flat at the current state.
  • The bands in severity are in the threshold entity's own units (p/kWh above), not the chart's, so they are written on the annotation. The card's own bands are not used for the zone.
  • history, zone and severity are for line annotations only.

In the editor: each line annotation has Follow the entity's history (stepped) and Shade (Nothing, Above the line, Below the line). With a shade chosen, Shade colours by the line's value (optional bands) adds the bands.

Value labels (v2.0.0+)

A line chart labelling its highest and lowest readings

labels: true
labels_show: minmax
labels_position: auto
labels_overlap: false
Option Default What it does
labels false Prints values on the readings
labels_show all Which readings: all (as many as fit), last (the latest), minmax (highest and lowest) or ends (first and latest)
labels_position auto Where each label sits: auto (above peaks, below dips), above, below or center (on the point)
labels_overlap false Lets labels overlap instead of leaving out the ones that would collide

Labels are placed most important first: the latest reading, then the highest and lowest, then the rest in time order. Each takes the first of its sides that is clear of the labels already placed and stays inside the plot. A label with no clear side is left out, unless labels_overlap: true. With overlap allowed and labels_show: all, a series with more than 40 readings gets no labels at all. Gaps are never labelled, and neither are the values carried in at the left edge or on to the right edge, which are not new readings. Labels near the plot's left or right edge line up with it instead of running off.

Labels use each entity's own decimals. They follow the zoom window, and each small multiple gets its own.

In the editor: Chart section, Show values on the points, then Which readings, Label position and Let labels overlap once it is on.

Synced charts (v2.0.0+)

Two line charts in the same sync group

sync: house

Line charts with the same sync group name share what the pointer is over. Hovering or touching one shows the guide line and the hover box at the same moment on every other chart in the group. They also share previous and next steps: stepping back a day on one steps back every chart in the group that covers the same kind of period and has its own buttons. Cards find each other anywhere on the dashboard, in stacks, grids or other columns.

A chart doesn't show another chart's moment while your own pointer is on it. In small multiples, every small chart's title shows its reading at the shared moment. Zoom is not shared between charts.

In the editor: Chart section, Sync group (charts with the same name share the pointer and period steps).

Small multiples (v2.0.0+)

Three rooms drawn as small multiples

multiples: true
multiples_scale: auto
multiples_columns: 3
Option Default What it does
multiples false Draws one small chart per entity in a grid, instead of every line in one chart
multiples_scale auto auto: one value scale when every entity reads in the same unit, a scale each when they don't. shared: one for every chart. independent: each chart its own
multiples_columns fits the card How many charts go across, 1 to 6. Left empty, as many fit as are at least 150 px wide

The small charts share the time axis. Each has the entity's name and current value as its title, which opens the entity like the header does. While the pointer is over any of them, every title shows its reading at that moment. An entity with no readings in the span says so in its own place. The period buttons stay above the grid.

In small-multiples mode each chart draws its line, value labels and hover readout. Zoom, the overview strip, annotations and highest/lowest marks are not drawn.

In the editor: Chart section, A small chart for each entity, then Value scale and Columns (empty fits the card) once it is on.

Highest, lowest and average (v2.0.0+)

A line chart marking its high and low with an average line

extremes:
  max: true
  min: true
  average: line
entities:
  - entity: sensor.living_room
  - entity: sensor.outside
    extremes: false
Option Default What it does
extremes.max false A ringed dot and a label ("High 14.2 °C · 14:10") at each series' highest reading
extremes.min false The same at the lowest reading
extremes.average none line: a dashed line across at the average, labelled at the right edge. figure: the label only. none: nothing
Per entity extremes true false leaves that series out of the marks
  • Only readings taken in the period count. Gaps don't, and nor does the value carried in from before the start.
  • The average on raw history is weighted by how long each value held, so a room at 20 °C all night that flickered to 25 °C for a minute averages near 20. It stops at now, and unavailable stretches count for nothing. Grouped or statistics readings get a plain mean, as each is one equal period.
  • The times in the labels follow your language, clock and time zone. A grouped reading names its group (the day, or the month).
  • Labels keep clear of the dots, of each other and of a header laid over the chart. When neither side is clear they take a side that fits.
  • Marks follow the zoom window. They are not drawn in small multiples.

In the editor: Chart section, Mark the highest reading, Mark the lowest reading and Average. While any mark is on, each entity's options gain a Mark highest, lowest and average switch to leave it out.

Logarithmic value scale (v2.0.0+)

A power line on a log scale, with export left as a gap

y_scale: log

y_scale: log puts the value axis on powers of ten, for readings that span several orders of magnitude, such as light from a dim room to full sun, or network traffic with spikes. linear (the default) keeps even steps.

  • Labels go at each power of ten. Within a decade or two they go at 1, 2 and 5. Across many decades every second or third power is labelled, and the steps between are drawn as fainter gridlines. Small ticks get the decimals they need (0.01) and large ones read short (10K, 1M).
  • Zero and negative readings have no place on a log axis, so they are left as gaps in the line, and the axis starts from the smallest reading above zero. The hover readout still shows their real value.
  • A chart with nothing above zero says Nothing above zero to draw on a log scale. instead of drawing an empty axis.
  • y_min and y_max must be above 0 with a log scale; the card says so if they aren't.
  • Colouring by bands (color_by: bands) places its colour changes through the scale, so the line changes colour where the value is drawn.

The log scale is on the line chart only. Columns, areas and the other history charts stand on zero, so they always draw on even steps, whatever y_scale says.

In the editor: Chart section, Value scale (Even steps or Logarithmic (powers of ten)).

Forecast (v2.2.0+)

A line chart of solar power over the last day, the readings drawn solid up to now and the forecast for the rest of the day drawn dashed after it, under a small "Forecast" label

A series can name a forecast. The chart draws it dashed in the series' colour from now on and, when the span ends now, stretches the time axis past now to show it.

forecast_hours: 24     # how far past now the axis may stretch (default 24)
entities:
  - entity: sensor.solar_power
    forecast:
      entity: sensor.solcast_pv_forecast_forecast_today
      attribute: detailedForecast
      value_key: pv_estimate   # optional: guessed when left out
      time_key: period_start   # optional: guessed when left out
      multiply: 1000           # optional: kW forecast on a W sensor
  - entity: sensor.outside_temperature
    forecast:
      entity: weather.home
      type: hourly             # hourly (default), daily or twice_daily
Key under forecast Default What it is
entity none (needed) The entity holding the forecast
attribute see below The attribute with the forecast list
value_key guessed The key holding each value: value, pv_estimate, watts, price, total, temperature or native_temperature is tried in turn
time_key guessed The key holding each time: datetime, period_start, start, starts_at, startsAt, time, from or date is tried in turn
type hourly For a weather entity: hourly, daily or twice_daily
multiply 1 Multiplies every value, for a forecast in another unit
  • Where it is read from: the attribute when one is named. It can be a list of objects, a list of [time, value] pairs, or a map of time to value (as Forecast.Solar's watts). Times can be ISO text or epoch seconds or milliseconds.
  • Weather entities with no attribute read Home Assistant's weather forecast service (the old forecast attribute when the entity still has one), with temperature as the value. Any other entity with no attribute reads its forecast attribute.
  • It starts at now, at the forecast's value there, and isn't joined to the last reading: a forecast that disagrees with what happened should look like it. Forecast points before now aren't drawn; the history covers them.
  • The time axis stretches past now to the last forecast reading, at most forecast_hours ahead, when the span ends now (a rolling span, or a calendar span with until: now). A span drawn to its end (until: end) already reaches past now, so it isn't stretched. A span wholly in the past shows no forecast.
  • The value axis fits the forecast too. The hover readout lists "Solar forecast" and lets the pointer move into the future.
  • Zoom and the log scale apply to forecasts. Small multiples don't draw them.
  • A forecast with no entity yet (half filled in the editor) is ignored.

In the editor: each entity's options end with a folding Forecast section: Forecast entity, Attribute, Weather forecast, Value key, Time key and Multiply values by. Show forecasts this far ahead appears in the Chart section once an entity has a forecast.

Anomalies (v2.2.0+)

A line chart of bathroom humidity over five days, a shaded band of the normal range around the line, and red dots on a sudden spike and a sudden drop labelled +9.9σ and under −10σ

anomalies: true
anomalies_window: 2h    # auto (default), or a time: 30min, 2h, 1d, 1w; a bare number is minutes
anomalies_sigma: 3      # how far out counts, in standard deviations (default 3)
anomalies_color: red    # the markers' colour (default red)
anomalies_band: true    # shade the normal band (default true)

Marks readings that are far from what is normal around them. For each reading, the chart looks at the other readings within a window centred on it, finds their typical value and spread, and marks the reading when it is more than anomalies_sigma spreads away. The band from typical less sigma spreads to typical plus sigma spreads is shaded behind the line in the series' colour.

  • anomalies_window: auto is a twelfth of the span.
  • The typical value is the median and the spread comes from the median absolute deviation, which a spike can't inflate the way an average and standard deviation would. Labels still read in σ.
  • A reading needs at least five neighbours, two on each side, to be judged. The latest reading is judged once two more arrive after it.
  • Up to three labels ("+3.4σ", "−2.1σ") go on the furthest-out marks, one per spike. Beyond 10σ they read "over +10σ" or "under −10σ". A label that doesn't fit clear of the other marks is left out; its dot still says the same on hover.
  • Gaps and the value carried in at the left edge are not judged. Readings are counted, not weighted by time.
  • With zoom, it looks at the readings on show; with the log scale, at those above zero. Small multiples don't draw it.

In the editor: Mark readings far from normal in the Chart section; once it is on, Window, How far out to mark, in standard deviations, Marker colour and Shade the normal band.

Earlier spans behind the chart (v2.2.0+)

A line chart of the living room's temperature today, with yesterday as a thin grey line and last week as a dashed grey line behind it, and a key under the names

period:
  calendar: day
  until: end
compare: [1d, 7d]     # one offset or a list of up to 4
compare_style: grey   # grey (default) or series

compare draws the same entities over earlier spans faintly behind the current lines, moved forward so each earlier moment sits over the same time of day now. Yesterday's evening peak sits over this evening. period.offset and the previous and next buttons show an earlier span instead; compare puts it behind.

  • Offsets are a whole number and a unit: h (hours), d (days), w (weeks), mo (months) or y (years), such as 12h, 1d, 7d, 3mo or 1y.
  • Hours are by the clock. Days and longer are by the calendar, keeping the time of day, so a comparison across a clock change still lines up.
  • The first offset is drawn solid, the next dashed, then dotted, then dash-dot. compare_style: series draws them in a faded series colour instead of grey.
  • A key under the names says which is which ("Yesterday", "Last week", "Last month", "Last year", or "3 days earlier"); show.name: false hides it. The hover readout lists each earlier value.
  • The earlier spans are grouped exactly as the chart is, follow it when you step to another period, and load once. One that fails or is still loading is left out.
  • The value axis fits them, and zoom and the log scale apply. Small multiples don't draw them.

In the editor: Compare with earlier spans (drawn faintly behind) in the Chart section, right after the period, with Yesterday, Last week, 28 days earlier and Last year to pick from or your own offset. Colour of the earlier spans appears once one is set.

Now line (v2.2.0+)

A line chart of the living room's temperature today drawn to midnight, with a dark vertical line at now and a label reading "Heating on in 3 h 15 m" beside the dashed time marks for 06:30 and 16:00

period:
  calendar: day
  until: end
now_marker: countdown   # off (default), line, time or countdown
annotations:
  - type: time
    times: "06:30, 16:00"
    label: Heating on

A vertical line with a dot at the top marks the present moment when the span runs past it: today, this week or this month with until: end. It moves once a minute.

now_marker Label
off No line (the default)
line The line only
time The line and the current time
countdown The line and the time to the next mark of a time annotation: "Heating on in 3 h 15 m", or "Next in 25 m" when that annotation has no label. With no mark due in the next two days it shows the time
  • A rolling span ends at now, so the line would sit on the right edge: it is left out there.
  • The line slides to its new place each minute, without motion when the browser asks for less.
  • It also works on the column chart. Small multiples don't draw it. The state timeline has its own now line.

In the editor: Now line in the Chart section.

Showing a series only while something holds (v2.2.0+)

A line chart of a heating flow temperature drawn only while the heat pump runs, the hidden readings as a faint grey line, and a strip under the plot filled where the condition held

when_ghost: true    # a faint line of the hidden readings (default false)
when_strip: true    # a strip under the plot showing when each condition held (default false)
entities:
  - entity: sensor.flow_temperature
    when:
      entity: sensor.heat_pump_power
      above: 50

A when on an entity (or on the card) shows its readings only while another entity is in a state, or above or below a value; the rest are gaps. How when is written, and which charts read it, is on Options. The line chart can also show what was hidden:

  • when_ghost: true draws every reading of a conditional series as a thin faint line behind it, so you can see what the gaps left out. The value axis fits the faint line; the hover readout, labels and highest/lowest marks still use only the kept readings.
  • when_strip: true adds a strip under the plot with a row per condition, filled where it held, in the colour of the first series it governs, with its text over the row ("Heat pump power > 50"). With the overview strip on, the condition strip sits above it. It follows the zoom.
  • Both work on the line and area charts (the faint line on an unstacked area only), and are not drawn in small multiples.

In the editor: under the style's own options in the Chart section, Show every series only while this entity and its state, above and below fields, then Faint line of the hidden readings and Strip showing when it held. Each entity's own condition is in its options.

Hiding a series from the names row (v2.2.0+)

A line chart of four room temperatures with the bedroom's name dimmed and struck through in the names row and its line left out of the plot

legend_toggle: true

legend_toggle: true turns the names row into switches. Tap a name to hide or show that series; hold it (half a second), or Shift-click it, to show only that one, and again to show them all.

  • A hidden series leaves the plot, the value axis, the hover readout, labels and marks. Its name stays in the row, dimmed and struck through, and the other series keep their colours.
  • With every series hidden, the chart says "Every series is hidden. Tap a name to show it again."
  • What is hidden is remembered per card in the browser, so it survives a reload. Changing the card's config starts again with everything shown.
  • With it on, tapping a name no longer opens the entity's more-info dialog.
  • It needs the names row to be there: it is off with header: hidden, with multiples: true, or with both names and values hidden.
  • It works on every chart with the names row: line, area, column, combined, range area, histogram, streamgraph, box plot and candlestick. On the candlestick the candle's own entity can't be hidden.

In the editor: Tap a name to hide or show it in the Chart section, under the names and compact options.

Layout: one chart for the whole card. Every shared option is described on the Options page.

Previous: Arc · Next: Area · All styles

Clone this wiki locally