Java JFreeChart getSeriesStroke/Paint/Shape返回null
通过将Java JFreeChart getSeriesStroke/Paint/Shape返回null,java,swing,jfreechart,Java,Swing,Jfreechart,通过将XYSeriesCollection数据集传递给JFreeChart构造函数来创建折线图后,我尝试将序列笔划/绘制/形状作为: XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer)chart.getXYPlot().getRenderer(); for (int i = 0; i < dataset.getSeriesCount(); i++) { renderer.getSeriesStroke(i);
XYSeriesCollection
数据集传递给JFreeChart构造函数来创建折线图后,我尝试将序列笔划
/绘制
/形状
作为:
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer)chart.getXYPlot().getRenderer();
for (int i = 0; i < dataset.getSeriesCount(); i++) {
renderer.getSeriesStroke(i);
renderer.getSeriesPaint(i);
renderer.getSeriesShape(i);
}
xylineandshaperender渲染器=(xylineandshaperender)chart.getXYPlot().getRenderer();
对于(int i=0;i
但所有返回空值
为什么呢?如何获取非空对象?An是一个XYItemRenderer
,它支持“在XYPlot
上呈现单个(x,y)项的视觉表示”,尽管相应的系列属性为null
,但可以访问项属性。从这一点开始,以下更改将产生所示的输出:
代码:
这很有帮助,但我仍然不明白getSeriesPaint为什么为空-我正在使用series向图表添加数据,因此我希望它们有颜色。有关详细信息,请参阅抽象父级的
lookupSeriesPaint()
实现。
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer)chart.getXYPlot().getRenderer();
for (int i = 0; i < xyPlot.getDataset().getSeriesCount(); i++) {
System.out.println(renderer.getItemStroke(i, 0));
System.out.println(renderer.getItemPaint(i, 0));
System.out.println(renderer.getItemShape(i, 0));
System.out.println(renderer.getItemShape(i, N));
}