Grafana Equivalent of an Existing Chart

Hello all. I am trying to recreate the following chart in Grafana.


In this chart, we have three statuses for different runs that took place in different hours in each day. Hour intervals are not necessarily equal, neither are the total run times a day. So what I am trying to do is creating a status history which are categorized by days horizontally and divided by hours vertically. I am using Infinity to get a JSON Data from our backend and we are able to manipulate our data as we wish.

Is it possible to achieve this in Grafana? I am willing to use plugins etc. Here is an example of our current JSON format. Keep in mind that we can change this, add other properties such as Time etc.

[
{
"Date": "2023-12-12 12:30",
"Status": 1
},
{
"Date": "2023-12-12 13:30",
"Status": 0
},
{
"Date": "2023-12-13 12:30",
"Status": 1
},
{
"Date": "2023-12-13 13:30",
"Status": 0
},
{
"Date": "2023-12-14 12:30",
"Status": 1
},
{
"Date": "2023-12-14 13:30",
"Status": 0
},
{
"Date": "2023-12-15 12:30",
"Status": 1
},
{
"Date": "2023-12-15 13:30",
"Status": 0
},
{
"Date": "2023-12-16 12:30",
"Status": 1
},
{
"Date": "2023-12-16 13:30",
"Status": 0
}
]

There is Hourly heatmap plugin for Grafana | Grafana Labs , so you can create minimal working example with that panel and then make change in your data structure accordingly.

That plugin divides the data into equal time intervals though. My data is not divided by equal time intervals.

Sorry, you are very optimistic if you expect plugin, which will met your expectations without any modification.

divides the data into equal time intervals though. My data is not divided by equal time intervals

That’s correct, so I recommend you to change data structure accordingly. Standard TSDBs provides time aggregation out of the box, but you have to prepare it somehow for this type of the panel.

I CANNOT modify the data accordingly as the data shows test runs each day which are not started at the same time always.