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
------其他解决方案--------------------------------------------------------
难道把静态数据 换成 数据库取来的动态数据就这么难吗? 我的天哪。