Use AI component, and feed JSON data of multiple rows to it. This doesn’t guarantee success, and you might find yourself stuck in a never-ending loop of wrestling with AI to get it to work and look like you want. But when it works, it’s magic.
Feed your data to a JavaScript column and try to put out a HTML string that makes things look like you want. This limits interacting with the calendar, say if you want to open the details view of an event, since you’re actually showing data from multiple rows, but the “click” event can’t reference them separately.
CSS on top of the current calendar component. I think it’s too complex and this should be your last resort.