Hallo Gemeinde,
nach langer Suche komme ich einfach nicht weiter,
ich habe einen Graphen angelegt mit mehreren Y-Achsen.
Ich lese die Daten aus einer Datenbank aus.
Aber wie kann ich die x-Achse skalieren?
Anhand, der vielen Datenpunkte kann er sie hier nicht darstellen.
Wie kann ich es realisieren nur jede halbe Stunde oder ganze Stunde eine Anzeige zu visualisieren? (01:00:00, 02:00:00 usw.)
Das hier sind Werte eines ganzen Tages, im 20s Takt.

folgender Code:
Vielleicht weiss jemand Rat.
Danke.
nach langer Suche komme ich einfach nicht weiter,
ich habe einen Graphen angelegt mit mehreren Y-Achsen.
Ich lese die Daten aus einer Datenbank aus.
Aber wie kann ich die x-Achse skalieren?
Anhand, der vielen Datenpunkte kann er sie hier nicht darstellen.
Wie kann ich es realisieren nur jede halbe Stunde oder ganze Stunde eine Anzeige zu visualisieren? (01:00:00, 02:00:00 usw.)
Das hier sind Werte eines ganzen Tages, im 20s Takt.

folgender Code:
Java:
public class Graphen extends ApplicationFrame
{
final JDBCCategoryDataset dataset;
public Graphen(final String title)
{
super(title);
final String chartTitel = "PV Daten";
dataset = Verbinden_thread_Datenbank.DatenAbfrage();
final JFreeChart chart = ChartFactory.createLineChart("PV Daten", "Uhrzeit","Batteriespannung", dataset,PlotOrientation.VERTICAL,true,true,false);
final CategoryPlot plot = chart.getCategoryPlot();
// 2.Achse
final NumberAxis axis2 = new NumberAxis("Temperatur Kessel");
plot.setRangeAxis(1,axis2);
plot.setDataset(1,Verbinden_thread_Datenbank.DatenAbfrage2());
plot.mapDatasetToRangeAxis(1, 1);
// 3. Achse
final NumberAxis axis3 = new NumberAxis("Batteriekapazität");
plot.setRangeAxis(2,axis3);
plot.setDataset(2,Verbinden_thread_Datenbank.DatenAbfrage3());
plot.mapDatasetToRangeAxis(2, 2);
// final CategoryAxis axis = (CategoryAxis) plot.getDomainAxis();
// axis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
// Stroke stroke = new BasicStroke(3.0f);
/// renderer.setSeriesOutlineStroke(1, stroke);
// axis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90);
// axis.setMaximumCategoryLabelLines(5);
// axis.setPlot(plot);
final ChartPanel panel = new ChartPanel(chart);
panel.setPreferredSize(new java.awt.Dimension(1200,500));
panel.setRangeZoomable(true);
panel.setDomainZoomable(true);
setContentPane(panel);
/*
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(
CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 2.0));
*/
}
}
Vielleicht weiss jemand Rat.
Danke.