我使用ireport设计了4个系列的折线图。我需要使用 jfreechart 在我的自定义类中计算这些系列
LineAndShapeRenderer lineAndShapeRenderer = new LineAndShapeRenderer();
lineAndShapeRenderer.setSeriesPositiveItemLabelPosition(0,new ItemLabelPosition(ItemLabelAnchor.CENTER,TextAnchor.TOP_LEFT));
lineAndShapeRenderer.setSeriesPositiveItemLabelPosition(1,new ItemLabelPosition(ItemLabelAnchor.INSIDE5,TextAnchor.TOP_LEFT));
lineAndShapeRenderer.setSeriesPositiveItemLabelPosition(2,new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.BOTTOM_RIGHT));
lineAndShapeRenderer.setSeriesPositiveItemLabelPosition(3,new ItemLabelPosition(ItemLabelAnchor.OUTSIDE1,TextAnchor.BOTTOM_LEFT));
我需要使用像 lineAndShapeRenderer.getSeriesCount();
而不是上面的硬编码但我没有得到这样的方法或其他线索来设置如下
for (int i=0 ;i<lineAndShapeRenderer.getSeriesCount();i++)
lineAndShapeRenderer.setSeriesPositiveItemLabelPosition(i,new ItemLabelPosition(ItemLabelAnchor.OUTSIDE1,TextAnchor.BOTTOM_LEFT));
请帮我解决这个问题,以获得折线图中使用的系列数 - ireport。
最佳答案
您可以从用于创建图表的数据集中获取系列数。例如,CategoryDataset
每个系列都有一行。你可以这样做:
int seriesCount = dataset.getRowCount();
编辑:在评论中,您说
categoryPlot.getLegendItems().getItemCount()
…helped me to getting no. series used in line chart.
图例项是 View 的一部分;我想问一下型号。如果您有对绘图的引用,则可以获得对数据集的引用:
CategoryPlot categoryPlot = (CategoryPlot) chart.getPlot();
CategoryDataset dataset = categoryPlot. getDataset();
int seriesCount = dataset.getRowCount();
关于java - 如何使用jfreechart计算折线图中添加的系列数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42780343/