根据数据库数据画饼图
来源:互联网 发布:淘宝话费充值代理 编辑:程序博客网 时间:2024/05/22 01:26
数据库传入数据为 (分类、该分类下消费金额)
效果图:
private HashMap<String,Integer> getMonthData(){HashMap<String,Integer> map = new HashMap<String,Integer>();ArrayList<String>kindlist = (ArrayList<String>) kdao.find();for(int i=0;i<kindlist.size();i++){int kindsum = mdao.findSumOfKind(application.getUser_id(),kindlist.get(i),null,(String) year_pic_time.getText());map.put(kindlist.get(i),kindsum);}yearDataMap = map;return map;}/** * 画饼图 */private void CreatePicBingTu(){year_pic.removeAllViews();CategorySeries dataset=buildCategoryDataset("月统计饼图", getMonthData());ArrayList<Integer>colors = new ArrayList<Integer>();colors.add(Color.BLACK);colors.add(Color.BLUE);colors.add(Color.GRAY);colors.add(Color.DKGRAY);colors.add(Color.RED);colors.add(Color.GREEN);ArrayList<Integer> colorlist= new ArrayList<Integer>();for(int i=0;i<yearDataMap.size();i++){colorlist.add(colors.get(i));}DefaultRenderer renderer=buildCategoryRenderer(colorlist);graphicalView=ChartFactory.getPieChartView(getBaseContext(), dataset, renderer);//饼状图year_pic.addView(graphicalView);}protected CategorySeries buildCategoryDataset(String title, HashMap<String, Integer> map) { CategorySeries series = new CategorySeries(title); Set set = map.entrySet(); Iterator it = set.iterator(); Double sum = 0.0; while(it.hasNext()) { java.util.Map.Entry entry = (java.util.Map.Entry)it.next(); sum+=Double.parseDouble(entry.getValue().toString()); } it = set.iterator(); while(it.hasNext()) { double hundred; java.util.Map.Entry entry = (java.util.Map.Entry)it.next(); String key = entry.getKey().toString(); double value = Double.parseDouble(entry.getValue().toString()); if(sum>0) { hundred = value/sum*100; series.add(key+" "+doubleFormat.format(hundred)+"%",value); } else series.add(key+" "+"0%",value); } return series;}protected DefaultRenderer buildCategoryRenderer(ArrayList<Integer> colorlist) { DefaultRenderer renderer = new DefaultRenderer(); renderer.setLegendTextSize(23);//设置左下角表注的文字大小 renderer.setLabelsTextSize(28.0f); renderer.setMargins(new int[] { 20, 30, 15,0 }); //margins - an array containing the margin size values, in this order: top, left, bottom, right for (int i=0;i<colorlist.size();i++) { SimpleSeriesRenderer r = new SimpleSeriesRenderer(); r.setColor(colorlist.get(i)); renderer.addSeriesRenderer(r); } return renderer; }
0 0
- 根据数据库数据画饼图
- iOS 数组~画饼图-添加数据优化
- 画饼图
- 画饼图
- 画饼图
- 画饼图
- 【python 可视化】数据透视表的用法及画饼图
- asp.net画饼图
- Pie画饼图
- Flot画饼图
- asp.net画饼图
- 利用JqPlot画饼图
- 使用QPainter 画饼图
- 利用applet画饼图
- zedGraph画饼图
- iOS之画饼图
- Quartz2D - 画饼图
- MFC画饼状图
- tomcat配置多域名
- Android之高仿手机QQ图案解锁
- Android常用工具类
- 扩展Date新增format方法用户格式化日期
- solr中BinaryQueryResponseWriter及其自定义
- 根据数据库数据画饼图
- nise_bosh部署cloudfoundry V2单机版
- springMVC3学习(六)--SimpleFormController
- 回眸一笑,才发现失去的是最珍贵的青春
- Ant之Copy
- 字符编码笔记:ASCII,Unicode和UTF-8
- 正则表达式验证 6位企业ID 和 1到8个任意字符
- 百度分词
- springMVC项目异步处理请求的错误Async support must be enabled on a servlet and for all filters involved in async