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代码(SpringMVC+Mybatis整合),引入jar包太麻烦
项目导入成功后 生成方式 : 选中pom.xml运行Run As --- Goals:mybatis-generator:generate
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代码工具IDE插件.Eclipse3.2版本...
maven代码自动将本地仓库中的包上传到maven私服
maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...
基于springboot搭建一个简单案例,利用proguard插件实现代码混淆,增加源代码的阅读和理解的难度, 并不能百分百保证代码安全。常用的应用场景是项目需要部署到客户机器上,一定程度上防止代码泄露。 ProGuard 是一个...
自己动手通过maven版本控制实现spring和freemarker框架的搭建,希望对新入门的提供一些思路
java代码管理结构,配置文件,工具类,maven项目,学习参考
关于maven本地仓库安装的代码
这里是maven继承与聚合代码。
本源码为基于Mybatis-Plus的Maven代码生成插件设计,共包含25个文件,其中java文件14个,vm文件6个,gitignore文件1个,project文件1个,LICENSE文件1个,md文件1个,xml文件1个。该项目是一个Mybatis-Plus Maven...
实现maven管理的Javaweb项目的proguard代码混淆功能、工具包下载及错误解决
上本书中maven权威指南开发实例代码。很详细。
SSM spring + springMVC +myBatis 非maven 源代码 ,再详细不过的,简单入门的 ssm 框架 SSM SSM源代码 SSM SSM源代码
maven安装与配置 确保已安装JDK。Maven 3.9+版本需要JDK 8或更高版本。可以通过输入java -version来检查JDK是否安装以及其版本。 下载Maven。访问Maven官网下载最新版本,例如3.9.1。对于Windows用户,通常下载...