我不知道是不是叫图,无论如何,所以叫它。 图形是今天我Circliful这个jQuery 插件上看到的. 认为非常好看。

就想把它实现出来,由于之前画过环形图。且我如今的图表基类基本已成型,所以非常快就画好了。

效果在展示页那有,这里也附上:

  图1  
图2   图3

附上上面三个图,在我图表库中的调用 代码:

图1:

//生成圆图类
chart = new CircleChart(); //设置图表范围(通过起始X,Y坐标及长。宽指定)
chart.setChartRange(0, 0, mScrWidth, mScrHeight); //设置图表数据源
LinkedList<PieData> lPieData = new LinkedList<PieData>(); //PieData(标签,百分比,在饼图中相应的颜色)
lPieData.add(new PieData("58%",58,(int)Color.rgb(72, 201, 176)));
chart.setDataSource(lPieData); //设置标题
chart.setTitle("圆形图(Circle Chart) 01"); //设置外环半径
if(mScrWidth < this.mScrHeight)
{
chart.setRadius(mScrWidth/3);
}else{
chart.setRadius(mScrHeight/3);
}
//设置半径
int fillRaius = (int) Math.round(mScrWidth * 0.7 - mScrWidth/5);
chart.setFillRadius(fillRaius);
//设置附加信息
chart.setAttributeInfo("电脑充满活力");
//半圆显示
chart.setCircleDisplayType(XTypes.CircleDisplayType.HALF );

图2:

//生成圆图类
chart = new CircleChart(); //设置图表范围(通过起始X,Y坐标及长,宽指定)
chart.setChartRange(0, 0, mScrWidth, mScrHeight); //设置图表数据源
LinkedList<PieData> lPieData = new LinkedList<PieData>(); //PieData(标签,百分比,在饼图中相应的颜色)
lPieData.add(new PieData("80%",80,(int)Color.rgb(243, 75, 125)));
chart.setDataSource(lPieData); //设置标题
chart.setTitle("圆形图(Circle Chart) 2"); //设置外环半径
if(mScrWidth < this.mScrHeight)
{
chart.setRadius(mScrWidth/3);
}else{
chart.setRadius(mScrHeight/3);
} //设置半径
int fillRaius = (int) Math.round(mScrWidth * 0.7 - mScrWidth/5);
chart.setFillRadius(fillRaius);
chart.setAttributeInfo("压力山大");
chart.setCircleDisplayType(XTypes.CircleDisplayType.FULL );
chart.getPaintBgCircle().setColor((int)Color.rgb(117, 197, 141));
chart.getPaintFillCircle().setColor((int)Color.rgb(77, 180, 123));
chart.getPaintDataInfo().setColor((int)Color.rgb(243, 75, 125));
chart.getPaintLable().setTextSize(36);
chart.getPaintDataInfo().setTextSize(22);

图3:

//生成圆图类
chart = new CircleChart(); //设置图表范围(通过起始X,Y坐标及长,宽指定)
chart.setChartRange(0, 0, mScrWidth, mScrHeight); //设置图表数据源
LinkedList<PieData> lPieData = new LinkedList<PieData>(); //PieData(标签。百分比。在饼图中相应的颜色)
lPieData.add(new PieData("75分",75,(int)Color.rgb(51, 136, 103)));
chart.setDataSource(lPieData); //设置标题
chart.setTitle("圆形图(Circle Chart) 3"); //设置外环半径
if(mScrWidth < this.mScrHeight)
{
chart.setRadius(mScrWidth/3);
}else{
chart.setRadius(mScrHeight/3);
} //设置半径
int fillRaius = (int) Math.round(mScrWidth * 0.7 - mScrWidth/5);
chart.setFillRadius(fillRaius);
chart.setCircleDisplayType(XTypes.CircleDisplayType.FULL ); chart.getPaintBgCircle().setColor((int)Color.rgb(117, 197, 141));
chart.getPaintFillCircle().setColor((int)Color.rgb(77, 180, 123));
chart.getPaintLable().setTextSize(36);
chart.setInitialAngle(90);

我把相关的几个画笔都开放出来的,基本上能够任意定制,而不用管图表详细实现的逻辑。

MAIL: xcl_168@aliyun.com

BLOG: http://blog.csdn.net/xcl168

版权声明:本文博客原创文章,博客,未经同意,不得转载。

XCL-Charts圈图的更多相关文章

  1. 手动导入swift三方danielgindi/Charts到OC工程中教程

    1.到github网址上下载zip压缩包https://github.com/danielgindi/Charts 2.然后将解压后的文件夹整个拖到自己的工程文件夹下(很多教程只让拖xcodeproj ...

  2. 图表插件Charts.js的使用

    Charts.js的介绍自行百度 首先下载Charts.js,官网:http://chartjs.cn/ charts.js 托管在了github上,下载下来后加解压出src中的文件即可.其中有cha ...

  3. 时隔两个月再写的Echarts(Enterprise Charts,商业级数据图表)一文

    简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10 ...

  4. iOS图表库Charts集成与使用

    Charts是一个很优秀的图表库,它支持Android.iOS.tvOS和macOS,这样使用起来,可以节省学习成本,可以从GitHub上了解更多信息.本文记录在iOS项目上的集成与使用. Chart ...

  5. ECharts(Enterprise Charts 商业产品图表库)初识

    一.简介 大数据时代,重新定义图表的时候到了,所以随之ECharts就随之出现了. ECharts(Enterprise Charts 商业产品图表库) 是基于Canvas的,纯Javascript ...

  6. Office 365 SharePoint 使用Charts Web Part

    如果你在web part->业务数据下找不到Charts Web Part 可以修改你的URL https://goitmch.sharepoint.com/sites/xxxx/_layout ...

  7. 常见绘图框架-(Charts)

    swift 出来后有很多优秀的第三方绘图.动画框架,最近项目需要使用了 Charts Github: https://github.com/danielgindi/Charts 因为是在Object- ...

  8. Python Charts库的使用

    博客园格式不太好看,可以去本人CSDN博客 http://blog.csdn.net/ashic/article/details/52598664 http://nbviewer.jupyter.or ...

  9. Pizza Pie Charts – 基于 Snap SVG 框架的响应式饼图

    Pizza Pie Charts 是一个基于 Adobe 的 Snap SVG 框架的响应式饼图插件.它着重于集成 HTML 标记和 CSS,而不是 JavaScript 对象,当然Pizza Pie ...

  10. 数据可视化(6)--Google Charts实例

    上头给的关于jqplot的问题暂时解决了,继续google charts. google charts的实例很多,就以区域图(Geochart)为例~~ 区域图(Geochart)是一个国家.大陆或者 ...

随机推荐

  1. URAL 1553. Caves and Tunnels 树链拆分

    一颗树 每次出发点右键值是0 2操作模式1.第一i右键点值添加x 2.乞讨u至v在这条路上右上方值 树为主的连锁分裂称号 #include <cstdio> #include <cs ...

  2. 【Android基础】listview控件的使用(1)------最简单的listview的使用

    listview控件是项目开发中最常用的空间之一,我将慢慢推出关于listview的一系列的文章,先从最简单的,系统自带的listview开始吧! 先上效果图: activity_one.xml &l ...

  3. unity3d c# 产生真正的随机数

    虽然能够使用Random类来生成随机数.但它是系统时钟种子,因此,有大量的反复产生伪随机数的. 您可以使用RNGCryptoServiceProvider();相对真随机数生成. 由加密服务提供程序( ...

  4. 使用mysqlbinlog工具的基础上及时恢复数据的位置或点

    使用mysqlbinlog工具的基础上及时恢复的位置或点 MySQL备份一般采取完全备份的形式加日志备份.让我们运行一个完整备份,每天.每小时运行二进制日志备份. 这样在MySQL Server故障后 ...

  5. Google免费的SVN服务器管理VS2010代码

    原文:Google免费的SVN服务器管理VS2010代码 前言 Google免费为我们提供了代码管理的SVN服务器.首先我这里用的Win7 64的电脑系统,用VS2010进行的代码开发.这里管理代码需 ...

  6. 数据你把它的金额-JAVA分页

    数据量你造吗-JAVA分页 原创地址:   http://www.cnblogs.com/Alandre/  (泥沙砖瓦浆木匠),须要转载的,保留下! Thanks 学习的心态第一,解行要对应. 事实 ...

  7. 正确lua简单的扩展,可以加速相关C++数据。

    很早的时候,我有一件事纠结.如果,我在这里C++打开界面脚本.使用C++其中一个目标,和.我的程序有很多不同的lua虚拟机.每个虚拟机与一个关联C++对象,它是多线程,那么如何快速应利用这个好时机lu ...

  8. 算法----选择排序(select sort)

    排序不是一个时间的数组进行排序,找到最小的元素,其与阵列的第一个元素交换,因此,排序的数组. 算法: void sort::select_sort(int* a,const int n) { for( ...

  9. Computer Science 学习第四章--CPU 指令集和指令处理

    Instruction set Y86 指令集 运算符:addl, subl, andl, and xorl 跳转符:jmp,jle,jl,je,jne,jge, andjg 条件符:cmovle, ...

  10. NSIS:延时启动软件的几个方法及探索

    原文NSIS:延时启动软件的几个方法及探索 有时候,我们想要某软件开机启动,但又不要拖慢开机速度,那么,延时启动技术就显得比较重要了.轻狂在这方面曾经研究过,也实现了自己想要的功能,看看我是怎么做的吧 ...