【发布时间】:2016-04-03 06:23:03
【问题描述】:
我创建了一个绘制两个数据集的图表。 我试图将其中一个绘制为点,另一个绘制为线。 但它不工作。这是图表的图片:
这是我生成图表的代码:
private ChartPanel createChartPanel() {
JFreeChart chart = ChartFactory.createScatterPlot(
"", "Longitude [deg]", "Latitude [deg]", createSampleData(),
PlotOrientation.VERTICAL, true, true, false);
XYPlot xyPlot = (XYPlot) chart.getPlot();
XYLineAndShapeRenderer render = new XYLineAndShapeRenderer(true, true);
xyPlot.setRenderer(0, render);
XYLineAndShapeRenderer render2 = new XYLineAndShapeRenderer(false, true);
xyPlot.setRenderer(1, render2);
return new ChartPanel(chart){
@Override
public Dimension getPreferredSize() {
return new Dimension(768, 576);
}
};
}
private XYDataset createSampleData() {
XYSeriesCollection dataset = new XYSeriesCollection();
XYSeries Line_end_points = new XYSeries("Line end points");
Line_end_points.add(new XYDataItem(startP.getX(), startP.getY()));
Line_end_points.add(new XYDataItem(endP.getX(), endP.getY()));
dataset.addSeries(Line_end_points);
dataset.addSeries(pnts);
return dataset;
}
如您所见,我正在创建两个不同的渲染器,但两个数据集都绘制为线条。我错过了什么?任何帮助将不胜感激,谢谢。
【问题讨论】:
-
至少需要两个数据集,每个渲染器一个;请编辑您的问题以包含一个minimal reproducible example,以显示您修改后的方法。
标签: java dataset jfreechart scatter-plot