fre*_*set 4 java swing jfreechart
我只想在我的图表上显示数据点,我该怎么做?该图显示为线图,但我希望每个数据点都有小标记.
该应用程序的JFreeChart部分是:
private XYDataset createDataset() {
final TimeSeries inclinometerAngles = new TimeSeries(TimeUnit.SECONDS);
// Add all data from the map to the dataset
final Set<Date> keys = data.keySet();
for (Date date : keys) {
Record r = data.get(date);
if (r.mcInclinometerAngle != null) {
inclinometerAngles.add(new Second(date), r.mcInclinometerAngle);
}
}
final TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(inclinometerAngles);
return dataset;
}
private void setupGraphics() {
final XYDataset dataset = createDataset();
final JFreeChart chart = createChart(dataset);
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
chartPanel.setMouseZoomable(true, false);
setContentPane(chartPanel);
}
private JFreeChart createChart(final XYDataset dataset) {
final JFreeChart chart = ChartFactory.createTimeSeriesChart(
"Tracker Analysis",
"Date",
"Value",
dataset,
true,
true,
false
);
final XYPlot plot = chart.getXYPlot();
XYItemRenderer renderer = plot.getRenderer();
final StandardXYToolTipGenerator g = new StandardXYToolTipGenerator(
StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT,
new SimpleDateFormat(), new DecimalFormat("0.00")
);
renderer.setToolTipGenerator(g);
renderer.setItemLabelsVisible(true);
return chart;
}
Run Code Online (Sandbox Code Playgroud)
JFreeChart.createTimeSeriesChart()使用一个XYLineAndShapeRenderer,所以首先使形状可见.
renderer.setSeriesShapesVisible(true);
Run Code Online (Sandbox Code Playgroud)
此相关示例说明了影响外观的一些其他方法.
| 归档时间: |
|
| 查看次数: |
10299 次 |
| 最近记录: |