栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JFreeChart条形图制作

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JFreeChart条形图制作

我猜你在犯一个小错误,那就是

with in for loop for each iteration of loop you are creating anew DefaultCategoryDatasetinstance
。因此,每次将每个项目添加到一个单独的
DefaultCategoryDataset
对象中,并使用
DefaultCategoryDataset
具有最后一个值的最终实例来创建图表时,这就是在图表中仅获得最后一个值的唯一原因。

解决方案是仅在一次for循环之前和之后创建DefaultCategoryDataset对象,如下所示:

DefaultCategoryDataset barChartDataset = new DefaultCategoryDataset();for (int l = 0; l < data.length; l++) {       // barChartDataset.setValue(new Double(data[l]), "Scores", stu);       barChartDataset.addValue(new Double(data[l]), "Scores", stu);       System.out.println(data[l]);    }    JFreeChart barChart = ChartFactory.createBarChart3D("Summary", "Name", "Scores", barChartDataset, PlotOrientation.VERTICAL, false, true, false);

这是我的一个应用程序中的代码片段,它工作正常:

 DefaultCategoryDataset dataset= new DefaultCategoryDataset();  // Get today as a Calendar....   Calendar today = Calendar.getInstance(); for(int i=0; i<15 ;i++)  {     //get util.Date class object for today date.....   java.util.Date today_date=new java.util.Date(today.getTimeInMillis());   //convert date in string format to display on chart.....    String today_string_date = new SimpleDateFormat("dd/MM/yy").format(today_date);    // set values to DefaultCategoryDataset to display on chart...    dataset.setValue(rs1.getInt("login_count"),"Login Frequency", today_string_date);    today.add(Calendar.DATE, -1);  }// for closing...JFreeChart chart = ChartFactory.createBarChart3D("ISIS:Overall login history for last 15 days", "Date -->", "No  of  user(s)  login  per  day -->", dataset, PlotOrientation.VERTICAL, true, true, false); CategoryPlot p = chart.getCategoryPlot();  NumberAxis rangeAxis = (NumberAxis) p.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); BarRenderer renderer = (BarRenderer) p.getRenderer(); DecimalFormat decimalformat1 = new DecimalFormat("##"); renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", decimalformat1)); renderer.setItemLabelsVisible(true);ChartUtilities.saveChartAsPNG(new File(filePath +"/chart1.png"), chart ,1250, 400);

希望它能解决您的问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574651.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号