Hallo zusammen,
Ich befasse mich derzeit mit JFreeChart:
Ich habe eine XML – Datei, die ich einlesen möchte -> funktioniert auch.
Jedoch muss ich nun noch definieren was auf der X und Y – Achse stehen soll.
Nun möchte ich durch einen XPath Ausdruck nur bestimmte Datensätze anzeigen lassen.
Insgesamt sollen als Ergebnis 8 Datensätze geliefert.
Wie kann ich das machen?
Hier mein bisheriger Code:
Ich befasse mich derzeit mit JFreeChart:
Ich habe eine XML – Datei, die ich einlesen möchte -> funktioniert auch.
Jedoch muss ich nun noch definieren was auf der X und Y – Achse stehen soll.
Nun möchte ich durch einen XPath Ausdruck nur bestimmte Datensätze anzeigen lassen.
Insgesamt sollen als Ergebnis 8 Datensätze geliefert.
Wie kann ich das machen?
Hier mein bisheriger Code:
Java:
import java.awt.Color;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.xml.DatasetReader;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class JfreeChartTest extends ApplicationFrame {
public JfreeChartTest(final String title) {
super(title);
// create a dataset...
CategoryDataset dataset = null;
final URL url = getClass().getResource("file.xml");
try {
final InputStream in = url.openStream();
dataset = DatasetReader.readCategoryDatasetFromXML(in);
}
catch (IOException ioe) {
System.out.println(ioe.getMessage());
}
// create the chart...
final JFreeChart chart = ChartFactory.createBarChart(
"Bar Chart", // chart title
"Domain",
"Range",
dataset, // data
PlotOrientation.VERTICAL,
true, // include legend
true,
false
);
// set the background color for the chart...
chart.setBackgroundPaint(Color.yellow);
// add the chart to a panel...
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
public static void main(final String[] args) {
final JfreeChartTest demo = new JfreeChartTest("XML Bar Chart Demo");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
}
Zuletzt bearbeitet: