Visualisierung von Kalenderereignissen. Algorithmus zum Layouten von Ereignissen mit maximaler Breite

Ich brauche Ihre Hilfe bei einem Algorithmus (er wird auf der Clientseite mit Javascript entwickelt, ist aber nicht wirklich wichtig, ich interessiere mich hauptsächlich für den Algorithmus selbst). Bitte sehen Sie das folgende Bild:

Die Y-Achse ist die Zeit. Wenn also "Testereignis" (zum Beispiel) um 12 Uhr mittags beginnt und sich nichts mehr damit überschneidet, nimmt es die gesamte Breite von 100% ein. "Weekly Review" überschneidet sich mit "Tumbling YMCA" und "Anna / Amelia", aber die beiden letzteren überschneiden sich nicht, sodass sie alle 50% ausfüllen. Test3, Test4 und Test5 überschneiden sich, sodass die maximale Breite jeweils 33,3% beträgt. Test7 ist jedoch 66%, da Test3 zu 33% festgelegt ist (siehe oben), sodass der gesamte verfügbare Speicherplatz beansprucht wird (66%).

Ich brauche einen Algorithmus, um das darzustellen.

Danke im Voraus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage