tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1509
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    bsewing bsewing ist offline Rookie
    Registriert seit
    Feb 2003
    Ort
    BI
    Beiträge
    8
    Hi

    Ich nutze die Jfree-Chart-Bibliothek Version 0.9.8.

    Problem ist folgendes: die x-Achse wird automatisch skaliert. Jfreechart erzeugt automatisch die senkrechten Hilfslinien. Mit setRange (start, Ende) werden mal mehr, mal weniger linien erzeugt. Dadurch ändern sich auch die werte.
    beispielsweise stehen unten die Zahlen 1 - 5 - 9 - 13.
    Dadrüber sind die linien.
    Jetzt sollen zwischen diesen Hauptlinien weitere hilfslinien erscheinen, ohne Ausgabe der Zahlen.
    Bei Excel geht das recht simpel. Ist das bei JFreeChart überhaupt möglich

    Björn
     

  2. #2
    Avatar von robgeb
    robgeb robgeb ist offline Mitglied Bronze
    Registriert seit
    Oct 2007
    Beiträge
    27
    Hallo,
    ich hatte auch mal das Problem und keine Lösung gefunden. Beziehungsweise bin ich der Meinung dass es keine Lösung gibt. Manuell etwas einzuzeichnen hätte wieder den Nachteil, dass es vor dem gesamten Plot liegen würde, außerdem wäre es schwierig, da die Platzierung automatisch zu bewerkstelligen.

    Also kurz: JFreeChart ist nicht Excel

    vG Robert
     

  3. #3
    Avatar von robgeb
    robgeb robgeb ist offline Mitglied Bronze
    Registriert seit
    Oct 2007
    Beiträge
    27
    Das einzige was mir jetzt noch eingefallen ist, ist dass du dein eigenes NumberFormat verwenden könntest und alle x werte mal eine Zahl "auftauchen" lassen.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
        private NumberFormat createTimeNumberFormat(){
            return new NumberFormat(){
                @Override
                public StringBuffer format(double arg0, StringBuffer arg1,
                        FieldPosition arg2) {
                    int i = ((Double)(arg0)).intValue();
                    int x = 4;
                    int h = i%x;
                    String ausgabe = ""
                                    if(h==0)
                                       ausgabe = ((Integer)i).toString();
                    arg1.append(ausgabe);
                    return arg1;
                }
                @Override
                public StringBuffer format(long arg0, StringBuffer arg1,
                        FieldPosition arg2) {
                    return null;
                }
                @Override
                public Number parse(String arg0, ParsePosition arg1) {
                    return null;
                }
            
            };
        }

    so ungefähr könnte es aussehen. (Kann sein dass noch ein paar Fehler sind mit dem Modulo-Rechnen)
    Das Numberformat nun mittels NumberAxis.setNumberFormatOverride(...); einsetzen und gut ist. (keine garantie ob es diese Methode auch in deiner Version schon gab.)
    Die Linen sind zwar alle noch an der gleichen Stelle und von gleicher Art, aber die zahlen an der Achse tauchen nur alle x mal auf.
    Geändert von robgeb (28.03.08 um 14:12 Uhr) Grund: --> Code-Auszug in Java-Code-Highlighting umgewandelt
     

Ähnliche Themen

  1. JfreeChart
    Von Maschke1981 im Forum Java
    Antworten: 1
    Letzter Beitrag: 20.08.10, 16:01
  2. JasperReport mit JFreeChart
    Von zbl im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 30.10.08, 13:45
  3. JFreeChart
    Von bierspritzn im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 08.09.08, 12:35
  4. JFreeChart
    Von primo11 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 13.05.08, 13:56
  5. JFreeChart
    Von Hakouna im Forum Java
    Antworten: 3
    Letzter Beitrag: 02.09.07, 23:37