Benney Geschrieben 9. Juli 2011 Teilen Geschrieben 9. Juli 2011 Hallo, ich hab folgendes Problem unzwar, ich hab meine Werte in einer Jlist gespeichert. Jetzt soll ich anhand der Werte von der Jlist automatisch eine Kurve gezeichnet werden anhand. g.drawline?? irgendwie steh ich total aufm Schlauch.. ?? Könnt ihr mir irgendwie helfen?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 9. Juli 2011 Teilen Geschrieben 9. Juli 2011 Du musst die Werte mit einem Faktor (das Ergebnis muss immer geringer als die max. Höhe des Bildbereichs sein) multiplizieren, so dass die Kurve angepasst an die Bildhöhe immer den Werteverlauf widerspiegelt. Des Weiteren musst du darauf achten, wie viele Pixel du horizontal darstellen kannst (Stichwort Schrittweite) ohne das sich das Aussehen der Kurve verändert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Benney Geschrieben 9. Juli 2011 Autor Teilen Geschrieben 9. Juli 2011 Ja des problem ist das ich irgendwie ned weiß wie ich darauf zugreife..besser gesagt mit g.drawlin(wert,wert,wert,wert) wie ich des alles mach...kannst du vl etwas genauer werden? DAnke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 9. Juli 2011 Teilen Geschrieben 9. Juli 2011 Du musst die Pixelpositionen anhand Deiner Daten schon selbst passend ausrechnen. Alternativen für solche Graphen gibt es genug z.B. Java Graph Drawing Component Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Benney Geschrieben 9. Juli 2011 Autor Teilen Geschrieben 9. Juli 2011 ahh..ich glaub ich hab mich falsch ausgedrückt es sollen keine Kurven sein, sondern einfach mit g.drawline eine gerade linie je nachdem wie hoch der wert ist umso länger ist die linie. ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 9. Juli 2011 Teilen Geschrieben 9. Juli 2011 ahh..ich glaub ich hab mich falsch ausgedrückt es sollen keine Kurven sein, sondern einfach mit g.drawline eine gerade linie je nachdem wie hoch der wert ist umso länger ist die linie. Das ist das gleiche, Du musst eben dann die Länge der Linie passend ausrechnen. Z.B. eine Linie die von der X-Ache bis zu einem gewünschten Wert geht, die Länge ergibt sich aus der Temperatur und der Größe der Zeichenfläche (analog die X-Position) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Benney Geschrieben 9. Juli 2011 Autor Teilen Geschrieben 9. Juli 2011 ja schon aber wie mache ich das..ich arbeite mit einer Jlist und einem vector. Aber wie greife ich darauf zu??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Benney Geschrieben 9. Juli 2011 Autor Teilen Geschrieben 9. Juli 2011 Kannst du mir da ein Beispiel geben z.b. ich habe einen Maximalwert und ich will das er die Linie zeichnet im Panel mein größe des Panel habe ich mit zeichnung1.setSize(400,400) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 9. Juli 2011 Teilen Geschrieben 9. Juli 2011 (bearbeitet) 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. Bearbeitet 9. Juli 2011 von lupo49 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 9. Juli 2011 Teilen Geschrieben 9. Juli 2011 Sofern die Unterteilung linear ist, ist das ein einfacher Dreisatz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.