`

Open Flash Chart的maven代码

 
阅读更多

private static String[] colors = new String[] { "#ff6600", "#339999",
			"#ff6633", "#999900", "#ffff33", "#333366", "#993333", "#99cccc",
			"#cc9900", "#999999", "#999933", "#006600", "#003366", "#99cc66" };



/*
	 * 构造饼图
	 */
	private Chart drawPieChar(List<BigDecimal> datas, String titletext,
			List<SysCode> syscodes) {
		Chart chart = new Chart();

		Title title = new Title();
		title.setText(titletext);
		title.setStyle("{colour:#DDDDDD;font-size: 15px;}");
		Pie pie = new Pie();
		pie.setAlpha(0.6);
		pie.setAnimate(true);
		pie.setBorder(6.0);
		pie.setTip("#label# $#val#<br>#percent#");
		pie.setValues(contructValue(syscodes, datas));
		pie.setColours(this.contructPieColor(datas));

		Legend legend = new Legend();
		legend.setBg_colour("#fefefe");
		legend.setPosition("right");
		chart.setLegend(legend);

		chart.setPie(pie);
		chart.setTitle(title);
		chart.setBg_colour("#FFFFFF");
		return chart;
	}

	private List<PieValue> contructValue(List<SysCode> syscodes,
			List<BigDecimal> datas) {

		BigDecimal sum = new BigDecimal(0);
		BigDecimal percnet = new BigDecimal(0);

		for (BigDecimal s : datas) {
			sum = sum.add(s);
		}

		DecimalFormat format = new DecimalFormat("##.##%");
		List<PieValue> list = new ArrayList<PieValue>();

		for (int i = 0; i < syscodes.size(); i++) {
			PieValue pieValue = new PieValue();
			String label = syscodes.get(i).getLocaleName();
			/*
			 * if(label!=null){ if(label.length()>13){ label =
			 * label.substring(0, 13); } }
			 */
			if (sum.compareTo(new BigDecimal(0))!=0) {
				percnet = datas.get(i).divide(sum, 4,
						BigDecimal.ROUND_HALF_UP);
			}

			pieValue.setText(label + "(" + format.format(percnet.doubleValue())
					+ ")");
			// pieValue.setLabel(label);
			// pieValue.setTip("#percent#");
			pieValue.setValue(datas.get(i));
			list.add(pieValue);
		}
		return list;
	}

	/*
	 * 颜色匹配
	 */
	private String[] contructPieColor(List<BigDecimal> datas) {
		List<String> piecolors = new ArrayList<String>();
		int j = 0;
		for (int i = 0; i < datas.size(); i++) {
			j = i;
			if (j > colors.length) {
				j = 0;
			}
			piecolors.add(colors[i]);
		}
		String[] colors = {};
		colors = piecolors.toArray(colors);
		return colors;
	}
 
分享到:
评论

相关推荐

    maven 代码生成(maven插件)

    在本场景中,我们关注的是"Maven代码生成"插件,特别是"MyBatis Generator"。 MyBatis Generator(MBG)是一个强大的工具,用于自动生成MyBatis的SQL映射文件,DAO接口和实现,以及实体类。通过这个插件,开发者...

    maven 代码混淆.zip

    本文将深入探讨`maven`与`代码混淆`的相关知识点,帮助开发者理解如何在Maven项目中实现代码混淆。 首先,我们要知道什么是代码混淆。代码混淆是将源代码中的类名、方法名、变量名等替换为无意义的简短名称,以防止...

    maven教程(含代码)

    maven教程(含代码)maven教程(含代码)maven教程(含代码)maven教程(含代码)maven教程(含代码)maven教程(含代码)maven教程(含代码)maven教程(含代码)maven教程(含代码)maven教程(含代码)maven教程...

    maven统计代码行插件

    一个统计代码行的maven插件(会统计配置的后缀类型,统计代码行数,并统计.java文件的 代码行数 注释行数 空白行数 .. 输出结果如) [INFO] \src\main\java总行数 : 6511 lines of code in 63 files [INFO] \src\test\...

    maven 实战 所有源代码

    ** Maven实战:所有源代码详解 ** Maven是一款强大的项目管理和构建工具,广泛应用于Java开发领域。它通过一套约定优于配置的原则,简化了项目的构建、依赖管理以及文档生成等工作。本篇文章将深入探讨"Maven实战...

    maven库代码

    在实际开发中,Maven的命令行工具提供了丰富的选项,例如`mvn clean`用于清理项目生成的目标文件,`mvn compile`用于编译源代码,`mvn test`执行单元测试,而`mvn install`则将项目打包并安装到本地仓库。...

    Maven代码工具IDE插件

    【标题】"Maven代码工具IDE插件"指的是在集成开发环境(IDE)中用于支持Maven项目的插件。Maven是一种广泛使用的项目管理和综合工具,它帮助开发者管理依赖、构建项目、执行测试以及生成文档等。对于Eclipse这样的...

    flashchart 整合S2SH源码

    同时,如果使用的是Maven或Gradle,需要在对应的构建文件中添加FlashChart的依赖。 2. **创建图表数据**:在Hibernate的帮助下,从数据库中检索需要展示的数据。例如,如果你要展示销售报告,你需要从数据库查询...

    实现maven管理的Javaweb项目的proguard代码混淆功能

    本文将深入探讨如何在Maven管理的Java Web项目中集成ProGuard工具来实现代码混淆功能,以及在过程中可能遇到的问题及解决方案。 首先,让我们了解什么是ProGuard。ProGuard是一个开源的Java字节码混淆器、优化器和...

    尚硅谷Maven课程笔记代码资源

    【尚硅谷Maven课程笔记代码资源】是一份全面学习Maven的资料集合,它涵盖了从基础到高级的各种知识点,旨在帮助开发者深入理解并熟练运用Maven进行自动化构建。该资源包含课件、源码和相关的笔记,使得学习过程更加...

    自定义maven工程 mydepot,代码框架

    【自定义maven工程 mydepot】是一个专为Java开发者设计的代码框架,它提供了一种规范化的项目结构,便于代码管理和团队协作。Maven是一个强大的项目管理工具,它可以帮助开发者自动化构建、依赖管理和项目信息管理。...

    SpringBoot + proguard+maven多模块实现代码混淆

    基于SpringBoot+Maven多模块工程利用proguard组件实现代码混淆的代码demo,代码清晰完整,导入idea或eclipse即可运行。 使用 proguard 混淆代码只能增加阅读和理解的难度, 并不能百分百保证代码安全。常用的应用...

    maven权威指南开发实例代码

    《Maven权威指南开发实例代码》是一本深入探讨Maven构建工具的实践性书籍,它提供了丰富的示例代码,帮助开发者全面理解并掌握Maven的使用。Maven是Apache软件基金会开发的一款项目管理和综合工具,它主要负责管理...

    maven源代码.zip

    【标题】:“maven源代码.zip”是一个包含与Maven相关的源代码和配置文件的压缩包,主要用于理解和学习Maven的内部工作原理以及如何在实际项目中应用。 【描述】:“maven源代码.zipmaven源代码.zipmaven源代码.zip...

    Java FreeMarker+Maven实现代码自动生成

    Java FreeMarker+Maven 实现代码自动生成是一个高效且灵活的方法,可以帮助开发者节省大量手动编写重复性代码的时间。FreeMarker 是一个强大的模板引擎,而Maven作为项目构建工具,能够帮助我们管理和组织项目的构建...

    poi的maven项目代码

    【标题】"poi的maven项目代码"是一个关于Apache POI库的 Maven 项目示例,主要用于演示如何利用POI库来操作Excel文件。Apache POI 是一个流行的开源Java API,它允许开发者创建、修改和显示Microsoft Office格式的...

    基于Mybatis-Plus的Maven代码生成插件设计源码

    本源码为基于Mybatis-Plus的Maven代码生成插件设计,共包含25个文件,其中java文件14个,vm文件6个,gitignore文件1个,project文件1个,LICENSE文件1个,md文件1个,xml文件1个。该项目是一个Mybatis-Plus Maven...

    Java+IDEA+maven混淆打包

    在Java开发过程中,为了保护代码安全和防止反编译,我们常常需要对代码进行混淆处理。本教程将详细介绍如何在IntelliJ IDEA(IDEA)中利用Maven进行混淆打包的步骤,确保整个过程顺利且有效。 首先,我们需要了解...

    Storm编程实践(安装Maven-使用Maven编译运行代码-mvn 打包)

    Storm 编程实践(安装 Maven-使用 Maven 编译运行代码-mvn 打包) 本文档介绍了 Storm 编程实践的实践报告,涵盖了安装 Maven、使用 Maven 编译运行代码和 mvn 打包等内容。报告中还包括了实验环境的配置、实验内容...

Global site tag (gtag.js) - Google Analytics