我不知道是不是叫图,无论如何,所以叫它。 图形是今天我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. C#中的Virtual

    在 C# 中,派生类可以包含与基类方法同名的方法. 基类方法必须定义为 virtual. 如果派生类中的方法前面没有 new 或 override 关键字,则编译器将发出警告,该方法将有如存在 new ...

  2. Java下拼接执行动态SQL语句(转)

    在实际业务中经常需要拼接动态SQL来完成复杂数据计算,网上各类技术论坛都有讨论,比如下面这些问题: http://bbs.csdn.net/topics/390876591 http://bbs.cs ...

  3. HDU 3829 Cat VS Dog

    题意: p个人  每一个人有喜欢和讨厌的动物  假设选出的动物中包括这个人喜欢的动物同一时候不包括他讨厌的动物那么这个人会开心  问  最多几个人开心 思路: 二分图最大独立集  利用人与人之间的冲突 ...

  4. Objective C Runtime 开发介绍

    简介 Objective c 语言尽可能的把决定从编译推迟到链接到运行时.只要可能,它就会动态的处理事情.这就意味着它不仅仅需要一个编译器,也需要一个运行时系统来执行变异好的代码.运行时系统就好像是O ...

  5. 谈论json - json经常使用的功能

    json经常使用的功能有JSON.parse().JSON.stringify(),供json对象和字符串之间的相互转换. 1.JSON.parse() 将 JavaScript 对象符号 (JSON ...

  6. QrcodeWithLogo

    package com.qrcode; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import ...

  7. .net RPC框架选型(一)

    近期开始研究分布式架构,会涉及到一个最核心的组件:RPC(Remote Procedure Call Protocol).这个东西的稳定性与性能,直接决定了分布式架构系统的好坏.RPC技术,我们的产品 ...

  8. C random C ++rand函数应用

    random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过.但在C语言中int random(num)能够这样使用,它返回的是0至num-1的一个随机数. 可改用C++下的rand函数 ...

  9. cocos2D(五岁以下儿童)---- CCNode

    本将主要介绍下CCNode这个类.CCNode是全部节点的基类,当中包含我们经常使用的CCScene(场景).CCLayer(图层).CCSprite(精灵)等.它是一个不可以可视化显示的抽象类,仅仅 ...

  10. Centos 7 学习加入用户

    正在使用 Centos 许多人前使用Ubuntu,因此, useradd 和 adduser 两个命令歧义,于Ubuntu这是在系统上两个命令,于Centos在这同一个命令,adduser 在一个链接 ...