用JFreeChart遇到的奇怪问题

qianying 2005-11-28 04:10:18
public static void generateLineChart(OutputStream out, ChartEntity chartEntity, int width, int height) {
try {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for (int i = 0; i < chartEntity.getItemCount(); i++) {
ChartData chartData = chartEntity.getChartData(i);
dataset.addValue(chartData.getValue(), chartData.getSeries(), chartData.getSection());
System.out.println("[" + i + "] " + "[ '" + chartData.getSeries() + "' - '" + chartData.getSection() + "' - '" + chartData.getValue() + "' ]");
}

JFreeChart chart = ChartFactory.createLineChart(
chartEntity.getTitle(),
chartEntity.getDomain(),
chartEntity.getRange(),
dataset,
PlotOrientation.VERTICAL,
true,
true,
false);

ChartUtilities.writeChartAsJPEG(out, chart, width, height);
} catch (Exception e) {
e.printStackTrace();
}
}

以上代码中的ChartEntity和ChartData类是我自己定义的数据对象类,用于存放需要显示的图象数据。

调用以上代码后,传入了三条线的数据,其中前两条线显示出来了,奇怪的是就是第三条显示不出来,可循环体里的那条打印语句却表明数据都是正确的。

我用的JfreeChart版本是jfreechart-1.0.0-rc1,现在怀疑是不是此版有BUG呀,请大侠们指教
...全文
154 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Benwangbin 2005-11-30
  • 打赏
  • 举报
回复
用createXYLineChart试试吧
qianying 2005-11-30
  • 打赏
  • 举报
回复
to gemouzhi(gemouzhi):
我检查过数据,发现数据不是连续的,所以在LineChart中只显示了间断的点,而不连线。

不过,我在生成TimeSeriesChart时,给定的数据也不是连续的,JfreeChart却可以把这些不连续的点给自动连起来。现在我在LineChart中也希望能把这些不连续的点给连续起来,却找不到相应的API,试过了lineAndShapeRenderer.setLinesVisible(true);也不起作用。

请指教该如何把这些点全都连起来,谢谢
gemouzhi 2005-11-28
  • 打赏
  • 举报
回复
getItemCount
getChartData
在索引上对的整齐的吗?

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧