# Jfree Chart mit Datum und Uhrzeit



## bbone (16. Okt 2009)

Hi, gibt es ne Möglichkeit eine Achse nicht nur mit Datum sondern mit Datum und Uhrzeit zu beschriften ? Mit Tag gehts so aber wie bekomme ich noch die Uhrzeit dazu ?
(Sorry wegen den vielen Inline substrings aber ich denke man versteht was ich will)

```
int i = 0;
String strTimestamp_to;
Day dayValue;
while (resSet.next())
{
   strTimestamp_to = resSet.getString(6).substring(0,10);
   dayValue = new Day(Integer.valueOf(strTimestamp_to.substring(8,10)),Integer.valueOf(strTimestamp_to.substring(5, 7)),Integer.valueOf(strTimestamp_to.substring(0, 4)));
Series1.add(dayValue, Double.valueOf(resSet.getString(1)));
```


----------



## SlaterB (17. Okt 2009)

bitte nicht 3x Integer.valueOf(string,substring(x,y)),
da lohnt sich ja jetzt schon eine Hilfsmethoe cutInt(string,x,y)

hier gibts was mit Stunden, vielleicht dann ohne Datum, schlecht?
schau auch nach den anderen Beispielen
JFreeChart: Time Series Demo 4 using hourly data and including a null value : Time Series ChartChartJava


----------



## bbone (18. Okt 2009)

Jepp brauch dringend Datum mit Uhrzeit kann doch nicht sein, dass das mit Jfree Chart nicht möglich ist. Kennt jemand ne Diagramm Lib die das kann. Am besten wieder ne freie.


----------



## JohannisderKaeufer (18. Okt 2009)

http://www.jfree.org/jfreechart/api/javadoc/src-html/org/jfree/chart/axis/DateAxis.html#line.519

Schauen wie man an die DateAxis kommt und dann ein passendes DateFormat setzen.

Wie man ein DateFormat erstellt sollte klar sein, wenn man mit jFreechart arbeitet.


----------



## bbone (19. Okt 2009)

OK dann weiß ich wie ich die Achsen korrekt einstellen kann aber als erstes sollte ich mal wissen wie ich mein Datum mit Uhrzeit in irgendeine Serie reinbekomme.


----------



## Verjigorm (19. Okt 2009)

Aus nem aktuellen Projekt mal das wichtigste zusammenkopiert:

```
DateAxis dateAxis = new DateAxis();
        dateAxis.setDateFormatOverride(new SimpleDateFormat("dd.MM.yyyy"));
final XYPlot plot = chart.getXYPlot();
plot.setDomainAxis(dateAxis);
...
XYSeries series = new XYSeries(name);
...
series.add(time, value); //time in ms
```


----------



## bbone (19. Okt 2009)

Danke ! Kann geschlossen werden. 
So hab ichs jetzt gemacht : 

```
private JFreeChart createChart(TimePeriodValuesCollection dataset)
	{
         XYDataset data1 = dataset;
        final XYItemRenderer renderer1 = new XYLineAndShapeRenderer();
        
        final DateAxis domainAxis = new DateAxis("Date");
        final ValueAxis rangeAxis = new NumberAxis("Value");
        
        //domainAxis.setDateFormatOverride(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
        final XYPlot plot = new XYPlot(data1, domainAxis, rangeAxis, renderer1);

        final JFreeChart chart = new JFreeChart("Visualisierung von "+ strDe_punkt, plot);
        return chart ;
	}
```

Eigentlich ganz einfach wenn man weiß wie ;-)


----------

