Angenommen deine Werte bewegen sich im Bereich [0, 30], dann bildest du das auf den Bereich [0, 400] ab. Der Wert 30 bekommt in dann in deinem Zeichenbereich den Y-Wert 400, so dass er den maximalen Wert darstellt. Um eine gleichmäßige Aufteilung zu bekommen musst du noch die Schrittweite bestimmen, damit eine Differenz von einem Wert zum anderen auch immer den selben Abstand hat. Bei einer Höhe von 400 Pixeln und max. 30 Werten beträgt der Pixelabstand von einem Wert zum anderen ~13,3 Pixel. Der Wert 5 bekommt dann bspw. den Y-Wert ~66 und der Wert 29 den Y-Wert 387.
Das klappt auf Anhieb vermutlich nicht, dass du musst du ein bißchen ausprobieren.