Du musst (für Beginn von oben und die Höhe) eigentlich "nur" den Beginn in eine Prozentzahl des Tages umrechnen und die Dauer ebenfalls. Also: Ein Termin, der um 9 beginnt und um 11 endet, beginnt bei 37.5% und hat die Länge von 8.33 Prozent. Dann sollten die Termine eine Mindesthöhe haben und eine Mindestbreite oder Du musst Dir Gedanken um den Overflow machen.
Dann musst Du (wegen der Breite und dem Beginn von links) wissen, wie viele und welche Termine sich überlappen und den wievielten davon Du gerade "zeichnen" willst. Das wird wohl am schwierigsten.