Diagramm zeichnen und richtig skalieren zur Fenstergröße
Verfasst: 31. Mai 2008 13:03
Hallo zusammen,
ich möchte ein Liniendiagramm darstellen. Die Werte liegen als QVector<char> vor. Auf dem Bildschirm sollen jeweils immer 1024 Werte aus diesem Vector dargestellt werden unabhängig von der Größe des Fensters in Pixel. Später soll es noch weitere Zoom Stufen geben, so dass z.B. auch 4096 Werte oder mehr dargestellt werden können. Jetzt gibt es folgendes Problem (siehe Bilder). Hat das Fenster mehr Pixel als Werte die momentan gargestellt werden sollen, kommt es natürlich zu Lücken. Ich habe versucht mit painter.scale(width() / 1024.0, 1.0) die Breite auf 1024 Werte aufzuteilen und dann mit pen->setWidthF(width() / 1024.0) die Linien zu zeichnen. Das funktioniert aber auch nicht richtig und ist außerdem sehr sehr langsam. Nun meine Frage: gibt es vielleicht eine elegante Methode wie ich diese Lücken verhindern kann?
ich möchte ein Liniendiagramm darstellen. Die Werte liegen als QVector<char> vor. Auf dem Bildschirm sollen jeweils immer 1024 Werte aus diesem Vector dargestellt werden unabhängig von der Größe des Fensters in Pixel. Später soll es noch weitere Zoom Stufen geben, so dass z.B. auch 4096 Werte oder mehr dargestellt werden können. Jetzt gibt es folgendes Problem (siehe Bilder). Hat das Fenster mehr Pixel als Werte die momentan gargestellt werden sollen, kommt es natürlich zu Lücken. Ich habe versucht mit painter.scale(width() / 1024.0, 1.0) die Breite auf 1024 Werte aufzuteilen und dann mit pen->setWidthF(width() / 1024.0) die Linien zu zeichnen. Das funktioniert aber auch nicht richtig und ist außerdem sehr sehr langsam. Nun meine Frage: gibt es vielleicht eine elegante Methode wie ich diese Lücken verhindern kann?