我正在创建这样的图表:
DefaultCategoryDataset cumulativeResultData = new DefaultCategoryDataset();
DefaultCategoryDataset indexResultData = new DefaultCategoryDataset();
然后在for循环中使用cumulativeResultData.addValue将数据添加到每个数据集
CategoryPlot plot = new CategoryPlot();
plot.setDomainAxis(new CategoryAxis("Days"));
plot.setRangeAxis(new NumberAxis("Result"));
plot.setOrientation(PlotOrientation.VERTICAL);
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
LineAndShapeRenderer renderer2 = new LineAndShapeRenderer(true, false);
LineAndShapeRenderer renderer = new LineAndShapeRenderer(true, false);
plot.setRenderer(renderer);
plot.setDataset(cumulativeResultData);
ValueAxis rangeAxis2 = new NumberAxis("Index price");
rangeAxis2.setRange(minRange - 1, maxRange + 1);
plot.setRangeAxis(1, rangeAxis2);
plot.setRenderer(1, renderer2);
plot.setDataset(1, indexResultData);
plot.mapDatasetToRangeAxis(1, 1);
JFreeChart chart = new JFreeChart(plot);
但是我得到的并不是我期望得到的,请看下面的图片。 domainAxis拥有大量数据并且模糊不清。有什么方法可以修复这个吗?只有每个例如20个元素都显示在domainAxis上? http://imgur.com/PkxSZl8
答案 0 :(得分:0)
当x轴显示分类数据时,您应该只使用CategoryPlot类。看起来您有时间序列数据,为此您可以使用XYPlot类,其中DateAxis用于x轴。您还可以使用TimeSeriesCollection类作为数据集。