JFreeChart: 2 X-Achsen für ein Dataset

anyway

Neues Mitglied
Hi,

ich möchte mit JfreeChart eine zweite X-Achse an die bestehende kleben, siehe hierfür das Bild:



Uploaded with ImageShack.us

Ich benutze bisher den einfachen Befehl: ChartFactory.createTimeSeriesChart(), dieser erschafft als Domainachse eine DateAxis. Diese X-Achse soll Stunden darstellen.

Das Dateset welches ich benutze ist im folgenden Code abgebildet.
Ich füge Zufallswerte an Hour Objekte ran.


Java:
final TimeSeries s1 = new TimeSeries("Many Values");

for (int i = 0; i < MAX_COUNT_HOURS; i++) {
	  Hour hour = new Hour(dateTime.toDate());
	  dateTime = dateTime.plusHours(1);
	  if (MAX_COUNT_HOURS >= counter) {
		s1.add(hour, Math.random() * 100);
	  }
	  counter++;
	}


Nun möchte ich darunter eine PeriodAxis dran anhängen, diese soll die Tage anzeigen, dessen Stunden bisher in der ersten X-Achse zu sehen sind.

Aber egal was ich versuche es klappt nicht. Ich hab versucht dem Plot ein zweites Dataset zu übergeben und dieses an die PeriodAxis zu mappen, aber auch dies scheiterte.

Hat jemand eine Idee ?

thx
 
Hi,

versuchs mal so:

Java:
final PeriodAxis domainAxis = new PeriodAxis("label");
final PeriodAxisLabelInfo[] info = new PeriodAxisLabelInfo[2];
info[0] = new PeriodAxisLabelInfo(Hour.class, new SimpleDateFormat("HH:mm"));
info[1] = new PeriodAxisLabelInfo(Day.class, new SimpleDateFormat("dd.MM.yyyy"));
domainAxis.setLabelInfo(info);

final XYPlot plot = chart.getXYPlot();
plot.setDomainAxis(domainAxis);

Ich kämpf grad auch noch damit.
Ich würde gerne ganze und halbe Stunden anzeigen lassen, aber bekomme nur krumme Beschriftungen wie 11:29 🙁
Wenn jemand eine Idee hat, wie man das abändern, bzw setzen kann, würde mir das sehr weiter helfen.
 
@joesie

Sorry für dein Problem hab ich keine Lösung, nur ein Hinweis:
Ich denke hierfür musst du dir mal die Tickunits ansehen.
Du kannst jeder Achse ne Tickunit angeben, speziell DateTickUnit. Schau mal ob das was für dich ist.

Desweiteren unterscheiden sich unsere beiden X-Achsen. Du hast eine X-Achse mit Typ PeriodAxis.
Da dran hast du 2 PerioadAxislabels dran haengen.

Ich hab aber eine DateAxis und eine PeriodAxis als X-Achse und möchte diese auf ein Dataset mappen.
 

Zurück
Oben