Hi @BrendanZ1 :
Do you want to get something like this?

I've made a test for your reference:
1\I assume there is an event table:
ClearCollect(
TheEvents,
{EventName:"Event1",Start:"00:00",End:"04:00",Person:40},
{EventName:"Event2",Start:"03:00",End:"21:00",Person:100},
{EventName:"Event3",Start:"02:00",End:"22:00",Person:15}
)
2\Add a blank horizontal gallery(Gallery1)
Items
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
TemplatePadding
0
TemplateSize
50
X
0
TemplateFill
If(Mod(ThisItem.Value,2)=0,RGBA(0,0,0,.1))
3\Add a label into Gallery
Width
50
Text
Text(ThisItem.Value,"[$-en]00")&":00"
4\Add an other label to show numbers
Text
Sum(
Filter(
TheEvents,
Value(Left(Start,2))<=ThisItem.Value && Value(Left(End,2))>=ThisItem.Value
),
Person
)
5\Add an other blank vertical gallery(Gallery2) cover Gallery1
Items
TheEvents
6\Add an Rectangle into Gallery2
X
50*Left(ThisItem.Start,2)
Width
50*(Left(ThisItem.End,2)-Left(ThisItem.Start,2)+1)
Best Regards,
Bof