ApexCharts card - A highly customizable graph card

Has anyone been able to remove the red part below? Feels like the date information is unnecessary to show twice? Or is it possible to show the value in the red part and skip the top tooltip?

I have a slight problem.
I have one chart that measure my heat pump energy “per hour” and one for “per day”.
And it didnt match what numbers the heat pumps own app said.
The heat-energ-sensor gives me the pumps kWh per hour.
But when I look more into it it seems that the chart takes the value in the “00:00:00” and put that value in the next day. But that is wrong and the first value for the new day should be at “01:00:00”.
How do I tell the chart to do this?

This is my code atm:

type: custom:apexcharts-card
graph_span: 48h
yaxis:
  - min: 0
    max: 1.5
span:
  end: hour
header:
  standard_format: true
  title: Värmepump - Per Timme
  show: true
  show_states: true
  colorize_states: true
all_series_config:
  type: column
  group_by:
    func: sum
    duration: 1h
series:
  - entity: sensor.daikinap42587_heat_energy_consumption
    name: Värmepump Värme Energi

Hi, not sure if will solve your issue, but try to add: “extend_to_end: false” under “series”.

hm, nope it still count that data from 00:00 from the day before.
Do I need to remove something when adding it?
If I set the duration to 23 hour I get the correct sum of the kWh this current day! But is that the real solution here? hm…

I think this did it for me…

span:
  end: day
  offset: +1h

That way it start the day from the data of 01 !

Unfortunately the library I use doesn’t allow to hide a serie from the legend.

Only way would be to set the number of ticks I believe

If the color threshold give a weird look, it’s because you have null data in your chart, that could be fixed with fill_raw: last

For your other question, you have the option to create a gradiant with options from here

That’s not possible unfortunately. One way to hack it is to make 2 series, on which filters out everything that is >0 and displayed as an area and the other one which filters everything that is <0 and displayed as a line

Not sure I understand what you want to achieve :blush:

Why not create a utility meter which resets every hour? (not sure it’s possible though)

Why not use an annotation to highlight a band in the chart?

You’ll need to prepend the current value with the current timestamp in the data generator

Not possible to skip a period on the timeline unfortunately. You could however stack the 3 days on top of each other using offset and reduce the timeline to only 6-22 in this case

You could use card-mod for that

You can use group_by with the diff function and a duration of 1d

You can remove the legend with:

apex_config:
  legend:
    show: false

Not at the moment, but I might add templates like in button-card at some point

That is something that might be able to fix, please open a feature request

Not possible at the moment, please open a feature request

The gradient configuration supports to be defined as an array, that’s the way to fix your issue

Yes, you can use annotations

That is not possible, at least for now.

Just do return x - 4;

You’ll need end: day to align the chart to the end of the day

That might be a bug, please open one on gh

You can remove that with

apex_config:
  xaxis:
    tooltip:
      enabled: false

You can’t, apexcharts-card relies on your history, so you need to fix your sensor (or ignore the first hour like you did)

5 Likes

Is there a way to calculate the number of ticks?
i.e. for the humidity example above: (max - min) / 10 + 1 → (90 - 50) / 10 + 1 = 5

You might be able to do something with the help of config-template-card.

Any hints whow to do?

I’ll have to check on the apexcharts docs, might take a little time until I can give you some pointers.

THanks @RomRider but it also seems that a new week start with sunday? Can you change that?
Is that btw what causing all this? It counts a week sun-sun ? In US they see sundays as the day to start the week right?

end: day makes the chart end at the current day, and because we’re sunday, it ends sunday. If you want to make it end at the end of the week, then use end: week, if you display it on a monday, the chart will be mostly empty.

I believe I could think about a way to make this smart, please open a feature request on GH :slight_smile:

1 Like

Done :wink:

First: thank you for a great tool!

I’ve been able to do all sort of nice graphs for my project with apexcharts-card, but there are a few things that keep pestering me:
‘’’
xaxis:
tickAmount: 5
format: dd.klHH
‘’’
image
notice, that the graph displays 22 Feb at midnight. Nice!
Unfortunately, when I close the editor, the nice midnight marker disapperars: image

A second issue I have is the data plotted into the future: I can’t seem to limit data to display from now to tomorrow midnight. ‘Span’ only accepts negative arguments, and I’d like to move the other way.

Third small issue: is is possible to add line breaks to titles or further customize them? Aprecharts doc implies that \n should do a line break, but alas that’s not possible

These are alle small issues - thank you!

1 Like

I can’t remove decimals (round up the value) for some reason. Tried to use abs() in transform didn’t work.

series:
  - entity: sensor.nbg6616_netout
    unit: kB/s
    transform: return (x/-8);
    name: Wifi Download
    color: '#0000ff'
  • my speed is reported by netdata from my router and returns kilobits, with negative values. So I turn it into kiloBytes and negate the value, hence *-8…
    How to remove decimals from results?

Can someone advise on how to combine the following:

span:
  end: day
span:
  start: month

WIthout end: day I don’t get the correct results but wthout start: month the graph doesn’t start on the first day of the month.

Please advise because I’m lost now :slight_smile:

Edit: I’m using a Utility Meter with setting cycle: daily.

Why does the chart keep summing data from the previous day?

The green bar, consumed energy from panels, should have been reset when a new day started and yet it create a weird sum of doubling the previous day (3.4 + 3.4 + the state value right now)

And the sensor:
image

Any ideas?

Has anyone been able to create something like this? Basically vertical bars filling up / down. Kind of like a radial bar but displayed as a standing vertical bar that fills up to a maximum value. The first one below shows the utilization of a sensor (15,8 A used out of maximum 20 A).

Might be easier to achieve with custom bar card than with apex charts.

1 Like