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.   

    首先要看你数据库表查询出来的结构是啥,比如是:
    月份  冰箱   彩电  洗衣机
    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("洗衣机"));
    }
    如果需要,字段级别也能循环,只要你预设好规则。
      

  2.   

    linedataset.addValue(list.get(i).属性名, list.get(i).属性名, list.get(i).属性名);
    你猜 外面怎么写。 
      

  3.   

    把重复的这一段linedataset.addValue(0.0, series1, type1);  放在循环里 。 需要读取数据库的字段就循环读不就好了 。