日期:2014-05-17  浏览次数:20795 次

JFreeChart中折线图
DefaultCategoryDataset linedataset = new DefaultCategoryDataset();
// 各曲线名称
String series1 = "冰箱";
String series2 = "彩电";
String series3 = "洗衣机";
//     横轴名称(列名称)
String type1 = "1月";
String type2 = "2月";
String type3 = "3月";
linedataset.addValue(0.0, series1, type1);
linedataset.addValue(4.2, series1, type2);
linedataset.addValue(3.9, series1, type3);
linedataset.addValue(1.0, series2, type1);
linedataset.addValue(5.2, series2, type2);
linedataset.addValue(7.9, series2, type3);
linedataset.addValue(2.0, series3, type1);
linedataset.addValue(9.2, series3, type2);
linedataset.addValue(8.9, series3, type3);
这种是直接加入数据生成图的?有没有可以通过遍历能够让linedataset.addValue获得数据?因为实际用的时候是查询数据库得出来的数据,或者给个思路,坐等大神回帖。
------最佳解决方案--------------------
首先要看你数据库表查询出来的结构是啥,比如是:
月份  冰箱   彩电  洗衣机
1月  11  22  33
2月  111  222  333

那么显然可以:
while(rs.next()){
    linedataset.addValue(rs.getDouble("冰箱"), "冰箱", rs.getString("月份"));
    linedataset.addValue(rs.getDouble("彩电"), "彩电", rs.getString("彩电"));
    linedataset.addValue(rs.getDouble("洗衣机"), "洗衣机", rs.getString("洗衣机"));
}


如果需要,字段级别也能循环,只要你预设好规则。
------其他解决方案--------------------
把重复的这一段linedataset.addValue(0.0, series1, type1);  放在循环里 。 需要读取数据库的字段就循环读不就好了 。
------其他解决方案--------------------
linedataset.addValue(list.get(i).属性名, list.get(i).属性名, list.get(i).属性名);


你猜 外面怎么写。 

------其他解决方案--------------------
引用:
首先要看你数据库表查询出来的结构是啥,比如是:
月份  冰箱   彩电  洗衣机
1月  11  22  33
2月  111  222  333

那么显然可以:
while(rs.next()){
    linedataset.addValue(rs.getDouble("冰箱"), "冰箱", rs.getString("月份"));
    li……


+1
------其他解决方案--------------------
难道把静态数据 换成 数据库取来的动态数据就这么难吗?  我的天哪。