android图表ichartjs

android之ichartjs图表

1.http://www.ichartjs.com    pdf下载:http://download.csdn.net/detail/menglele1314/8721121

2. 简介

what’s the ichartjs? 2.1.

ichartjs 是一款基于HTML5的图形库。使用纯javascript语言, 利用HTML5的canvas标签绘制各

式图形。 ichartjs致力于为WEB应用提供简单、直观、可交互的体验级图表组件。是WEB图表展示方面

的解决方案 。如果你正在开发HTML5的应用,ichartjs正好适合你。 ichartjs目前支持饼图、折线图、

区域图、柱形图、条形图。ichartjs是基于Apache License 2.0协议的开源项目。于2012年11月20

日发布了正式的v1.0版本。

特点 2.2.

ichartjs是一款基于HTML5的图形库。所以天生具有以下特点:

 轻量级代码

 运行速度快

 跨平台

 基于事件的交互性

 自定义绘图接口

 灵活的Web视觉效果

应用场景 2.3.

ichartjs 是一款基于HTML5的图形库。它是基于web的图形库,所以它的运行环境就是支持HTML5

的浏览器,如今,主流的浏览器已经可以很好的支持HTML5了。ichartjs致力于为企业应用提供简单、

直观、可交互的体验级图表组件。并且提供一个跨平台的统一视图。所以很适应于应用具有多平台,多

终端的web应用。适用于iPhone与android的手机平台。

3. 部署与结构

一步部署 3.1.

ichartjs本质上就是一个js库,所以只要将其引入你的页面即可。代码如下:

<script type="text/javascript" src="ichart-1.0.min.js"></script>

引入ichart.1.0.min.js就完成了搭建ichartjs运行环境的操作。

组件结构分析 3.2.

 Element:组件顶级父类,定义了配置功能特性。

 Painter: 画图的抽象类,定义了画图功能特性。

 Chart:图表的父类,定义了图表的基本属性以及事件的特性。

 Component:图表组件的父类,定义了具有画图以及响应事件的特性。

 Html:所有以html方式构建的组件的父类,定义了基本css属性。且具有Transition动画特性。

以上所有继承Chart的组件均为图表组件,继承Component的组件均为图表服务的小部件,继承Html

的则属于利用Html模拟一些效果的部件。

抽象组件,不可以被实例化

组件,可以被实例化

一分钟快速入门之HelloWorld 3.3.

说明 3.3.1.

在这节中,我们利用2D柱形图来展示Hello World的各个字母在字母表中的位置的情况。我们将位

置抽象为其高度。来以我们的方式来展示一个不一样的Hello World。

预览 3.3.2.

代码 3.3.3.

导入ichart.js Code

<script type="text/javascript" src="ichart-1.0.min.js"></script>

Javascript 代码

//定义数据源

var data = [

{name : ‘H‘,value : 7,color:‘#a5c2d5‘},

{name : ‘E‘,value : 5,color:‘#cbab4f‘},

{name : ‘L‘,value : 12,color:‘#76a871‘},

{name : ‘L‘,value : 12,color:‘#76a871‘},

{name : ‘O‘,value : 15,color:‘#a56f8f‘},

{name : ‘W‘,value : 13,color:‘#c12c44‘},

{name : ‘O‘,value : 15,color:‘#a56f8f‘},

{name : ‘R‘,value : 18,color:‘#9f7961‘},

{name : ‘L‘,value : 12,color:‘#76a871‘},

{name : ‘D‘,value : 4,color:‘#6f83a5‘}

];

$(function(){

new iChart.Column2D({

render : ‘canvasDiv‘, //渲染目标

data: data,//绑定数据

title :{ text:‘Hello World\‘s Height In Alphabet‘}, //设置标题

width : 800, //图表宽度

height : 400, //图表高度

coordinate:{ //设置坐标系

scale:[{

position:‘left‘, //左边值轴

start_scale:0, //起始刻度值

end_scale:26, //结束刻度值

scale_space:2, //刻度值间距

listeners:{

parseText:function(t,x,y){

return {text:t+" CM"}//个性化值轴

}

}

}]

}

}).draw();//调用draw方法进行绘图

});

Html 代码

<div id=”canvasDiv” ></div>

在你的页面中敲入上述代码,之后用浏览器打开这个页面,就是出现开头预览的效果。

4. 基础篇

$符号的含义 4.1.

$符号是iChart对象的简写,同时它是一个便捷的函数,使你的Dom元素加载之后再运行代码。作

用类似body里的onload函数。如果你使用了其他的js库也使用了$,比如:jQuery。则在使用的时候

直接用iChart代替$即可。

数据格式的定义 4.2.

ichartjs注重于图表的展示,所以数据源统一采用json对象方式。对于其他格式请自行转换为json

格式。数据源种类分为单一数据源与集合多值数据源, 单一数据源的值为单一的数值,而集合多值数据

源为数值集合。不同图表利用不同的数据源。

单一数据源 4.2.1.

单一的数据源格式为[{},{},{}];

其中每个对象配置项如下:

name:数据项名称。

value:数据项值,可能值为数字或者数组。

color:数据项(扇形)的颜色。

line_width(可选):用于折线图,表示线条的宽度。

例如:

代码片段:

var data = [

{name : ‘IE6‘,value : 20,color:‘#a5c2d5‘},

{name : ‘ IE7‘,value : 15,color:‘#cbab4f‘},

{name : ‘ IE8‘,value : 25,color:‘#76a871‘},

{name : ‘ IE9‘,value : 30,color:‘#9f7961‘},

{name : ‘ IE10‘,value : 10,color:‘#a56f8f‘}

];

多值数据源 4.2.2.

多值数据源拥有两个与数据相关的属性,data, labels。与单一的数据源相比多了一个labels属性,

并且data的value是数组的。我们没有将这两个属性整合到一起,因为你一旦理解这两个属性的作用。

写起来是相当的容易的。

data的格式范例:

代码片段:

var data = [

{

name : ‘DPS01A‘,

value:[45,52,54,74,90,84],

color:‘#1f7e92‘

},

{

name : ‘DPS01B‘,

value:[60,80,105,125,108,120],

color:‘#2b7f39‘

}

];

labels的格式范例:

代码片段:

var labels= ["一月","二月","三月","四月","五月","六月"];

可见data的value的长度是要与labels一致的,这说明labels是value对应的标签项。

大小、内边距及边框 4.3.

在创建图表时,设置图表宽度为800px,高度为400px的代码片段如下:

代码片段:

new iChart.Column2D({

width : 800,

height : 400

});

如果在手客户端需要自适应屏幕,则设置fit:true即可。

设置图表的内边距 4.3.1.

在创建图表时,设置图表内边距为10px的代码片段如下:

代码片段:

new iChart.Column2D({

padding : 10

});

图表的边框 4.3.2.

设置图表的边框,此配置同时适用于图表组件中的边框设置。设置边框的属性如下:

enable :是否开启边框特性

color :边框颜色

width : 边框宽度

radius :边框圆角值

在创建图表时,设置图表边框的代码片段如下:

代码片段:

new iChart.Column2D({

border : {

enable : false,

color : ‘#BCBCBC‘,

width : 1,

radius : 5

}

});

对齐方式与偏移量 4.4.

设置组件的大小 4.4.1.

设置图表的对齐方式 4.4.2.

设置主图在图表中的位置。

在创建图表时,设置图表对齐的代码片段如下:

代码片段:

new iChart.Column2D({

align : ‘left‘

});

图表的对齐边界是设置内边距之后的。如果想要达到很精确的位置。你应该配合位置偏移量使用。

设置图表的偏移量 4.4.3.

设置主图的坐标偏移量,有两个关键属性:

offsetx:x轴方向的偏移量,正数向右偏移,负数向左偏移。

offsety:y轴方向的偏移量,正数向下偏移,负数向上偏移。

如果想要达到很精确的位置。你应该配合位置偏移量使用。

在创建图表时,设置图表偏移量的代码片段如下:

代码片段:

new iChart.Column2D({

offsetx : 10,

offsety : 10

});

阴影效果 4.5.

阴影效果是图表组件共有的属性,但一般我们主要对图表进行设置。设置阴影主要有以下几个属性:

shadow:是否启用阴影效果。

shadow_blur:阴影效果的模糊值。

shadow_color:阴影颜色。

shadow_offsetx:阴影x轴偏移量,正数向右偏移,负数向左偏移。

shadow_offsety: 阴影y轴偏移量,正数向下偏移,负数向上偏移。

启用图表的阴影效果或多或少会影响图表的渲染时间,当你对渲染速度没有苛刻的要求的时候请放

心使用。

在创建图表时,设置图表阴影的代码片段如下:

代码片段:

new iChart.Column2D({

shadow : true,

shadow_ blur : 4,

shadow_ color : ‘#111111’,

13

shadow_offsetx : 2,

shadow_offsety : 2

});

背景色与渐变 4.6.

设置背景色 4.6.1.

背景色是一个基本的属性,图表中的组件都拥有这个属性,图表中的颜色属性支持:rgb,rgba, 颜色名称

的颜色(如:gray)和十六进制值的颜色(比如 #ff0000)。

在创建图表时,设置图表背景色的代码片段如下:

代码片段:

new iChart.Column2D({

background_color : ‘#EFEFEF’

});

设置渐变 4.6.2.

渐变是一个很常见的配色技巧,组件中也提供了便捷设置渐变的属性:

gradient :是否开启渐变,默认false。

color_factor :颜色渐变因子。取值越大渐变效果越大,颜色变化是基于背景颜色的。取值范围{0.01

- 0.5}.默认 0.15。

gradient_mode:渐变模式,有以下几个可选值:

‘LinearGradientUpDown‘:上-下

‘LinearGradientDownUp‘:下-上

‘LinearGradientLeftRight‘:左-右

‘LinearGradientRightLeft‘:右-左

‘RadialGradientOutIn‘:外-内

‘RadialGradientInOut‘:内-外

其中,饼图只有外-内,内-外模式选项。

在创建图表时,设置图表背景渐变的代码片段如下:

代码片段:

new iChart.Column2D({

gradient : true,

color_factor:0.2

});

字体样式 4.7.

设置字体的属性如下:

font:同css的font-family。

fontsize:同css的font-size。

fontweight:同css的font-weight。

color:同css的color。

在创建图表时,设置图表标题字体的代码片段如下:

14

代码片段:

new iChart.Column2D({

title: {

text : ‘2012年2月份市场浏览器占用情况’ ,

font: ‘sans-serif’,

fontsize:14,

fontweight:600,

color: ‘#ffffff’

}

});

文字旋转 4.8.

调整文字的方向在文本过长,数据多,空间狭小的情况下使用。

在创建图表时,设置x轴label的文字向下45度的代码片段如下:

代码片段:

new iChart.Column2D({

label:{

rotate:-45,

textBaseline:‘middle‘,

textAlign:‘right‘

}

});

代码含义为,以右侧中部为原点,逆时针方向旋转45度。

图表的标题 4.9.

标题是图表必不可少的一部分,我们提供主标题与副标题。并且副标题必须在主标题存在的情况下

而存在。图表的标题与副标题设置方式一致。其主要配置属性如下:

title : 主标题配置项,你可以提供字符串配置项或者对象配置项,若给出的是字符串,则会用默

认的字体颜色等配置渲染标题,若给出的是一个iChart.Text对象的配置项,则用对象配置项进行渲染。

title_align : 标题的对齐方式。

subtitle : 副标题配置项,与主标题一致,你也可以提供字符串配置项或者对象配置项。

在创建图表时,设置图表标题的代码片段如下:

代码片段:

new iChart.Column2D({

title: ‘2012年2月份市场浏览器占用情况’,

sub title :  ‘IE依然领先于其他浏览器’,

title_algin : ’ center’

});

当对标题进行左对齐或者右对齐时,可能达不到你想要的效果,这时通过偏移量来对其进行调整。

代码片段如下:

代码片段:

new iChart.Column2D({

15

title: {

text : ‘2012年2月份市场浏览器占用情况’ ,

offsetx:100

},

sub title: {

text : ‘IE依然领先于其他浏览器’ ,

offsetx:100

},

title_algin : ’ left’

});

图表的脚注 4.10.

脚注有时候会给你的图表带来意想不到的效果。是对图表信息的一个注释。一般会将数据的来源以脚注的

方式展示出来。其主要配置属性如下:

footnote : 脚注配置项,你可以提供字符串配置项或者对象配置项,若给出的是字符串,则会用默

认的字体颜色等配置渲染标题,若给出的是一个iChart.Text对象的配置项,则用对象配置项进行渲染。。

footnote _align : 脚注的对齐方式。

脚注的设置方式与标题一致。请参考 图表的标题。

label配置项的含义 4.11.

label的含义是标签,具有提示性的文字都可以称作为标签。ichartjs标签是一个iChart.Text对

象。大部分图表本身与sub_option选项的子组件均有label配置项,都是设置label文本的配置项。只

是设置的文本不同而已。具体子配置项请参考iChart.Text的api手册。图表中各个组件中label配置

含义如下:

Bar : 配置左侧标签文本。

Column : 配置底部标签文本。

Line : 配置底部标签文本。如果scale中配置了。则以scale中为准。

Pie : 无。

Scale : 配置轴标签文本。

LineSegment : 配置折线交点上方的标签文本。设置为false则禁用。

Sector : 此组件中有两个含义:当设置mini_label为true时,并且扇形角度在

mini_label_threshold_angle之上。则此配置项为iChart.Text对象。配置的为扇形图中心区域的文本。

否则,配置项为扇形图外侧标签对象。为iChart.Label对象。设置为false则禁用。

Rectangle : 配置柱形的标签文本。设置为false禁用。

过渡动画效果 4.12.

动画效果往往给人带来意想不到的效果,组件也提供一些简单的过渡动画,其属性如下:

animation:是否开启过渡动画效果。

animation_timing_function:过渡动画效果函数。

duration_animation_duration:过渡动画过程所用的时间,单位毫秒。

16

渲染动画对于手持客户端来说,目前由于硬件的原因运行效果还不够流畅,时间上会有一些延迟。

但是对于PC来讲则没有任何问题。同时注意开启阴影效果会对动画造成一定的延迟。

在创建图表时,设置图表动画的代码片段如下:

代码片段:

new iChart.Column2D({

animation: true

});

图例 4.13.

开启图例功能 4.13.1.

图例的配置项通过属性legend来进行设置,配置项中有一个enable属性表示是否开启图例功能,

仅当enable=true时才启用图例,并根据配置进行渲染。设置图例的代码片段如下:

代码片段:

new iChart.Column2D({

legend: {

enable : true

}

});

图例的对齐方式 4.13.2.

图例位置可以围绕在绘图区的周围。有两个属性定位其位置:

align:控制其水平方向的对齐方式。

valign:控制其垂直方向的对齐方式。

通过上面两个属性的组合可以配置出图例的对齐方式。其中{center/middle}这个组合是无效的。

以(align/valign)各种组合的位置如下:

17

设置图例在图表的右居中对齐的代码如下:

代码片段:

new iChart.Column2D({

legend: {

enable : true,

align : ‘right’,

valign: ‘middle’

}

});

图例的行列布局 4.13.3.

图例的行列布局一般为左对齐或者右对齐选用一列布局方式,而上对齐或者下对齐选用一行对齐方

式,当数据比较多的时候则进行多行多列布局形式。

设置图例一列布局方式的代码如下:

代码片段: 效果预览

new iChart.Column2D({

legend: {

enable : true,

row : ‘max’ ,

column: 1

}

});

设置图例一行布局方式的代码如下:

代码片段: 效果预览

new iChart.Column2D({

legend: {

enable : true,

row : 1,

column: ‘max’

}

});

图例的行高 4.13.4.

当你设置图例的文字之后可能会出现,多行重叠的问题,这时你可以通过属性line_height来设置

行高。以避免多行重叠。

设置图例行距为20px的代码如下:

代码片段:

new iChart.Column2D({

legend: {

enable : true

line_height: 20

}

});

18

图例符号的设置 4.13.5.

图例项的符号配置由以下几个属性决定:

sign:符号的形状。

sign_size:符号的大小。

sign_space:符号与文字的间距。

设置图例符号的代码如下:

代码片段:

new iChart.Column2D({

legend: {

enable : true,

sign : ‘round’,

sign_size : 10,

sign_space : 6

}

});

文字颜色与符号图形颜色一致 4.13.6.

配置项text_with_sign_color标识文字是否与符号颜色一致,默认为false。此配置要考虑你的符

号图形的颜色与背景色的颜色差,以免由于颜色相近造成文字模糊不清。

提示框 4.14.

开启提示框功能 4.14.1.

在图表中的空间有限,能表现的数据量也有限,这样,在一些特殊的地方,数据就可以以提示框的形

式展示出来。图例的配置项通过属性tip来进行设置,配置项中有一个enable属性表示是否开启提示框

功能,仅当enable=true时才启用提示框,并根据配置进行渲染。设置提示框的代码片段如下:

代码片段:

new iChart.Column2D({

tip : {

enable : true

}

});

固定位置与跟随位置 4.14.2.

提示框提供两种位置模式,固定位置则无论鼠标进入组件的位置,提示框则总是以固定的位置展示。

跟随位置模式下,提示框则会根据鼠标的位置变化而变化。

设置提示框的位置为跟随模式的代码如下:

代码片段:

new iChart.Column2D({

tip : {

enable : true

19

showType : ’follow’

}

});

提示框的渐入效果 4.14.3.

提示框的渐入渐出效果是由css3 的transition完成的,所以这个效果需要你的浏览器支持

transition。好在现在主流的浏览器都已经支持该属性了,所以你不必为这个问题担忧。关于此效果的

配置项如下:

animation:是否开启动画效果。

fade_duration:渐入渐出过程所用的时间。单位毫秒。

设置提示框渐入渐出的效果代码如下:

代码片段:

new iChart.Column2D({

tip : {

enable : true

animation : true,

fade_duration: 500

}

});

子配置项 4.15.

每个图表都是由不同形状的小组件构成,比如:饼图是由扇形构成。柱形图、条形图是由矩形构成。

折线图是由线段构成。每个子组件均是一个对象。ichartjs中设置子组件统一用sub_option配置项。而

每个配置项的具体内容,需要了解子组件的具体类型。建议对照各个组件具体的api进行配置。

设置子配置项的代码如下:

代码片段:

new iChart.Column2D({

sub_option: {

}

});

坐标系 4.16.

坐标轴是图表中必不可少的一部分,设计一个符合条件且又美观的坐标轴就需要熟悉每一个属性的

含义。coordinate是配置坐标轴的属性。是一个iChart.Coordinate2D/ iChart.Coordinate3D的对象。

其中除了Pie图没有坐标系之外。其他图表均有坐标系的配置项。

坐标轴线 4.16.1.

坐标系中有四个边,不同的图表中有着不同的意义和作用。组件中提供对四边轴的设置。axis是配

置四边轴线的属性。其子属性如下:

enable:是否设置其值。

20

width:轴四边的宽度,如果是数值,则代表四周均为此值,若为数组,则长度必须为4。其4个值

依次代表上-右-下-左。

设置轴线的代码如下:

代码片段:

new iChart.Column2D({

coordinate: {

axis: {

enable : true,

width: [0,0,2,2],

color : ’#333333’

}

}

});

值轴 4.16.2.

值轴是图表中很重要部分,为图表提供数值参考线。组件中配置值轴的是iChart.Scale对象,由属

性scale设置。其是一个数组类型或者对象类型的属性。一般来讲,一个值轴就满足需求了,但是,特

殊情况下,可能会有多个值轴。这样就配置数组类型的scale。其主要子属性如下:

position:刻度的位置。此值一般会由图表中属性scaleAlign覆盖。

start_scale:起始刻度值。

end_scale:结束刻度值。

scale_space:刻度间距值。

scale2grid:是否按照刻度画网格参考线。

scale_enable:是否显示刻度线。

scale_size:刻度线的大小(线条宽度)。

scale_width:刻度线的长度。

scale_color:刻度线颜色。

scaleAlign:刻度线对齐方式。

labels:自定义的刻度文本,一般作为非值轴的轴文本的设置。

设置刻度的代码如下:

代码片段:

new iChart.Column2D({

coordinate: {

scale: {

position:‘left‘,

start_scale:0,

end_scale:26,

scale_space:2

}

}

});

21

自定义刻度文本 4.16.3.

默认的刻度的文本都是数值,但是一般我们都要给单位。我们利用parseText事件返回自定义的刻

度文本。参数中可以设置自定义的位置。

设置自定义的刻度代码如下:

代码片段:

new iChart.Column2D({

coordinate: {

scale: {

position:‘left‘,

start_scale:0,

end_scale:26,

scale_space:2,

listeners:{

parseText:function(t,x,y){

return {text:t+" CM"}

}

}

}

}

});

有效坐标区域 4.16.4.

在特殊情况下我们的图表可能不是完全按照坐标轴的大小设置的。这样组件提供自定义有效坐标区

域的功能,主要有两个属性:

valid_width:设置有效的坐标区域宽度,必须要小于坐标宽度。

valid_height:设置有效的坐标区域高度,必须要小于坐标高度。

设置有效坐标区域的代码如下:

代码片段:

new iChart.Column2D({

coordinate: {

valid_width:600

}

});

网格 4.16.5.

网格是图表中很常用的元素,自定义的网格可以使你的图表看起来更和谐,组件网格通过属性grids

来设置。grids中有两个属性:

horizontal:水平网格配置项。

vertical:垂直网格配置项。

这两个属性的具体配置如下:

way:网格设置方式,可选值[share_alike,given_value]。

value:根据属性way值的不同有着不同的意义,当way取值share_alike时表示网格间隙的数量。

22

间隙的数量=网格线数量-1。当way取值given_value时表示网格间隙的距离。间隙的数量=坐标轴宽度/

网格间隙的距离。

设置有12个间隙(13个网格线)的网格代码如下:

代码片段:

new iChart.Column2D({

coordinate: {

grids: {

vertical:{

way:‘share_alike‘,

value:12

}

}

}

});

设置每个间隙为50px的网格代码如下:

代码片段:

new iChart.Column2D({

coordinate: {

grids: {

vertical:{

way:‘ given_value‘,

value:50

}

}

}

});

隔行变色 4.16.6.

隔行变色是常用的设计手法,有助于提升图表的可读性。组件提供便捷设置隔行变色的方式。默认

此配置项是开启的,但要注意只有配置了背景色的坐标系才会生效。

设置隔行变色的代码如下:

代码片段:

new iChart.Column2D({

coordinate: {

striped: true

}

});

自定义3D坐标系样式 4.16.7.

3D坐标系的各个面都可以自定义样式,通过指定背景颜色来达到个性化的配置。在配置项coordinate

中, wall_style是指定样式的子配置项,其可以指定长度为6的样式对象,每个对象中有2个属性:

color :背景墙颜色

alpha :背景墙透明度

23

设置坐标系各个背景的代码如下:

代码片段:

new iChart.Column3D({

coordinate: {

wall_style:[

{color : ‘#333333‘},

{color : ‘#b2b2d3‘},

{color : ‘#a6a6cb‘},

{color : ‘#333333‘},

{color : ‘#74749b‘},

{color : ‘#a6a6cb‘}

]

}

});

预览(为了展示效果,将柱形隐藏):

其各个面与wall_style数组各个对象的对于关系如下图:

24

5. 图表篇

2D饼状图 5.1.

数据源格式 5.1.1.

饼状图的数据源格式为单一数据源型。其数据项中的value为数值。具体请参考:数据源的定义-单

值数据源

应用场景 5.1.2.

饼形图使用圆的扇形段来显示部分与整体的关系。饼形图对于突出显示比例非常有用。但是如果数

据项非常的多,我们建议你选择其他的图形。

起始角度 5.1.3.

默认第一个扇形的起始角度是3点钟方向,你可以通过配置项offset_angle来设置。正值代表顺时

针偏移,负值代表逆时针偏移。选择合适的角度能增加图表的可读性。

设置起始角度在12点钟方向的代码如下:

代码片段:

new iChart.Pie2D({

offset_angle:-90

});

半径的设置 5.1.4.

组件默认的半径会根据你图表的大小适应,但在特殊的时候,自己设置一个值是理想的选择。你可

以通过配置项radius来设置。选择合适大小的半径值能使图表看起来更协调。

设置半径为120px的代码如下:

代码片段:

new iChart.Pie2D({

radius:120

});

扇形属性设置 5.1.5.

饼状图的由扇形组件构成,饼图中的扇形区域由sub_option属性进行配置。扇形区域的详细的配置

项可以通过api查询。

为扇形区域设置属性的代码如下:

代码片段:

new iChart.Pie2D({

sub_option:{

//…

}

});

25

迷你Label 5.1.6.

在数据较少的情况下,为了满足视觉效果,我们会将延伸在饼状图外侧的label去掉,将Label直

接显示在饼图上。我们用配置项mini_label来开启这种表现的功能。有两个相关的配置项。

mini_label:是否开启迷你Label。

mini_label_threshold_angle:开启迷你Label的最小角度。此配置项防止,由于角度太小,扇

形区狭小,导致文本显示的问题。

开启迷你Label的代码如下:

代码片段: 效果预览

new iChart.Pie2D({

sub_option:{

mini_label : true,

mini_label_threshold_angle : 30 ,

label:{

fontsize:16,

color:‘#FFFFFF‘

}

}

});

事件 5.1.7.

饼状图的事件由其拥有的组件决定,饼图中有事件行为的组件有:扇形,图例,标签。所以设置事

件均在相应的配置属性中进行设置。具体事件行为请参考组件api。

为扇形区域设置单击事件的代码如下:

代码片段:

new iChart.Pie2D({

sub_option:{

listeners:{

click:function(c,e){

//…

}

}

}

});

分离间距 5.1.8.

设置分离间距后,饼图中扇形处于分离状态,有着特殊的视觉效果。配置项separate_angle的取值范围

为(0-90),单位为角度。注意,此角度是间距的总和,默认为30。

设置分离间距的代码如下:

代码片段: 效果预览

26

new iChart.Pie2D({

separate_angle:60

});

3D饼状图 5.2.

3D饼状图除此了拥有2D饼状图的特征之外,还有其独有的设置。

数据源格式 5.2.1.

3D饼状图的数据源格式为单一数据源型。其数据项中的value为数值。具体请参考:数据源的定义-

单值数据源

Z-轴旋转 5.2.2.

3D饼状图在Z轴的旋转角度值,默认为45,有效值为(0-90)。

设置旋转角度值为30的代码如下:

代码片段:

new iChart.Pie3D({

zRotate:30

});

厚度 5.2.3.

3D饼状图的饼的厚度,默认为30。

设置厚度为50的代码如下:

代码片段:

new iChart.Pie3D({

zHeight:50

});

分离间距 5.2.4.

作用同Pie2D一致。

设置分离间距的代码如下:

代码片段: 效果预览

new iChart.Pie3D({

separate_angle:60

});

27

2D环形图 5.3.

数据源格式 5.3.1.

环形图的数据源格式为单一数据源型。其数据项中的value为数值。具体请参考:数据源的定义-单

值数据源

应用场景 5.3.2.

目前环形图使用与饼状图一致,目前不支持多数据源。只是在表现形式上是饼状图中间有一个空心

而已。但是可以利用这个空心,在上面写一些信息。

环形的宽度 5.3.3.

设置不同环形的宽度可以有不同的视觉效果,这里提供两种设置方式。

固定宽度:设置一个固定的宽度值,单位px。

百分比宽度:设置一个小数,按照半径的百分比设置环形宽度。

设置环形宽度为半径的30%的代码如下:

代码片段:

new iChart.Donut2D({

donutwidth:0.3

});

环形中心文字 5.3.4.

我们可以在环形中心来写文字,来表达一定的信息。利用center配置项来进行配置,此配置项是一个

iChart.Text的对象。

设置环形中心文本的代码如下:

代码片段: 效果预览

new iChart.Donut2D({

center:{

text:‘CORE\nSKILLS‘,

color:‘#6f6f6f‘

}

});

分离间距 5.3.5.

环形图中的分离间距比Pie2D和Pie3D更常用一些。

设置分离间距的代码如下:

代码片段: 效果预览

28

new iChart.Donut2D ({

separate_angle:60

});

条形图 5.4.

2D条形图 5.4.1.

数据源格式 5.4.2.

2D条形图的数据源格式为单一数据源型。其数据项中的value为数值。具体请参考:数据源的定义-

单值数据源

应用场景 5.4.3.

条形图用于展示具有类别关系,分布关系,时间关系的数据项。一般情况下均可用柱形图替换,但

在轴标签过长的情况下,条形图是一个很好的选择。

条形区域属性设置 5.4.4.

条形图的由矩形组件构成,条形图中的矩形区域由sub_option属性进行配置。矩形区域的详细的配

置项可以通过api查询。

为矩形区域设置属性的代码如下:

代码片段:

new iChart.Bar2D({

sub_option:{

//…

}

});

设置条形的高度 5.4.5.

默认情况下,组件会根据坐标系的高度来自动计算条形图中单个条形的高度值。你可以通过

barheight属性来进行自定义高度,当然你设置的值的总和不能超过坐标系最大的高度。

设置单个条形的高度代码片段如下:

代码片段:

new iChart.Bar2D({

barheight: 20

});

事件 5.4.6.

饼状图的事件由其拥有的组件决定,饼图中有事件行为的组件有:扇形,图例,标签。所以设置事

件均在相应的配置属性中进行设置。具体事件行为请参考组件api。

为扇形区域设置单击事件的代码如下:

29

代码片段:

new iChart.Bar2D({

sub_option:{

listeners:{

click:function(c,e){

//…

}

}

}

});

2D簇状条形图 5.5.

数据源格式 5.5.1.

2D簇状条形图的数据源格式为多值数据源型。其数据项中的value为数组。具体请参考:数据源的

定义-多值数据源

应用场景 5.5.2.

簇状条形图用于展示具有类别关系,分布关系,时间关系的数据项。簇状的特点是可以展现类别之

间相关性。

2D柱形图 5.6.

数据源格式 5.6.1.

2D柱形图的数据源格式为单一数据源型。其数据项中的value为数值。具体请参考:数据源的定义-

单值数据源

应用场景 5.6.2.

柱形图用于展示具有类别关系,分布关系,时间关系的数据项。一般情况下均可用条形图替换,但

在轴标签过长的情况下,条形图是一个很好的选择。

柱形区域属性设置 5.6.3.

柱形图的由矩形组件构成,柱形中的矩形区域由sub_option属性进行配置。矩形区域的详细的配置

项可以通过api查询。

为矩形区域设置属性的代码如下:

代码片段:

new iChart.Column2D({

sub_option:{

//…

}

});

设置柱形的宽度 5.6.4.

默认情况下,组件会根据坐标系的宽度来自动计算条形图中单个柱形的宽度值。你可以通过colwidth

30

属性来进行自定义宽度,当然你设置的值的总和不能超过坐标系最大的宽度。

设置单个柱形的宽度代码片段如下:

代码片段:

new iChart.Column2D({

barheight: 20

});

事件 5.6.5.

饼状图的事件由其拥有的组件决定,饼图中有事件行为的组件有:扇形,图例,标签。所以设置事

件均在相应的配置属性中进行设置。具体事件行为请参考组件api。

为扇形区域设置单击事件的代码如下:

代码片段:

new iChart.Column2D({

sub_option:{

listeners:{

click:function(c,e){

//…

}

}

}

});

2D簇状柱形图 5.7.

数据源格式 5.7.1.

2D柱形图的数据源格式为为多值数据源型。其数据项中的value为数组。具体请参考:数据源的定

义-多值数据源

应用场景 5.7.2.

簇状柱形图用于展示具有类别关系,分布关系,时间关系的数据项。簇状的特点是可以展示组之间

相关性与对比性。一般情况下均可用簇状条形图替换,但在轴标签过长的情况下,簇状条形图是一个很

好的选择。

3D柱形图 5.8.

数据源格式 5.8.1.

2D柱形图的数据源格式为单一数据源型。其数据项中的value为数值。具体请参考:数据源的定义-

单值数据源

应用场景 5.8.2.

3D柱形图继承自2D柱形图。拥有2D的应用特点。而3D的效果具有强烈的视觉效果。

3D旋转 5.8.3.

我们提供两个属性对3D效果进行旋转设置。可以根据自己的视觉需要设置其值。

31

xAngle:x轴方向旋转角度,默认60,有效值(0-90)

yAngle:y轴方向旋转角度,默认20,有效值(0-90)

3D簇状柱形图 5.9.

数据源格式 5.9.1.

2D柱形图的数据源格式为多值数据源型。其数据项中的value为数组。具体请参考:数据源的定义-

多值数据源

应用场景 5.9.2.

3D簇状柱形图继承自2D簇状柱形图。拥有2D的应用特点。而3D的效果具有强烈的视觉效果。

组内柱间距 5.9.3.

3D柱形图由于有3D的视觉效果,所以在空间上会有遮挡的现象,配置项group_fator可以配置一个分

组内的3D柱形之间的间距,默认为0.3。按照与其宽度的比例显示。

设置柱间距的代码如下:

代码片段:

new iChart. ColumnMulti3D ({

group_fator : 0.4

});

2D折线图 5.10.

数据源格式 5.10.1.

2D折线图的数据源格式为单一数据源型。其数据项中的value为数值。具体请参考:数据源的定义-

多值数据源

应用场景 5.10.2.

折线图用于展示具有随时间或者类别变化数据的趋势。

线段属性设置 5.10.3.

折线图的由线段组件构成,折线图中的线段由sub_option属性进行配置。线段的详细的配置项可以

通过api查询。

为线段设置属性的代码如下:

代码片段:

new iChart. LineBasic2D ({

sub_option:{

//…

}

});

设置线段数据点的大小与样式 5.10.4.

你可以设置适合自己图表风格的数据点大小与样式。属性如下:

point_size :数据项点大小,默认为6。

32

hollow :是否为空心点,默认为空心。

设置单个条形的高度代码片段如下:

代码片段:

new iChart. LineBasic2D ({

sub_option:{

point_size : 10,

hollow : false

}

});

平滑曲线 5.10.5.

你可以设置适合自己图表风格的数据点大小与样式。属性如下:

point_size :数据项点大小,默认为6。

hollow :是否为空心点,默认为空心。

设置直线图为平滑曲线的代码片段如下:

代码片段: 效果预览

new iChart. LineBasic2D ({

sub_option:{

smooth : true,

point_size:8

}

});

基本面积图 5.11.

数据源格式 5.11.1.

基本面积图的数据源格式为单一数据源型。其数据项中的value为数值。具体请参考:数据源的定

义-多值数据源

应用场景 5.11.2.

面积图与折线图类似,同样用于展示具有随时间或者类别变化数据的趋势。不过它们是在折线下的

区域中显示区域颜色。这些色彩丰富的可视显示能更清楚地区分数据。

设置区域的透明度 5.11.3.

有时我们会有多个面积图汇集在一个图表中,这样重合的地方可能会被前面的面积图遮挡住,通过

设置面积图的透明度可以解决这一问题。

为面积图设置透明度的代码如下:

代码片段:

new iChart.Area2D ({

area_opacity:0.2

});

时间: 2024-10-26 12:00:20

android图表ichartjs的相关文章

Android图表库MPAndroidChart(十四)——在ListView种使用相同的图表

Android图表库MPAndroidChart(十四)--在ListView种使用相同的图表 各位好久不见,最近挺忙的,所有博客更新的比较少,这里今天说个比较简单的图表,那就是在ListView中使用相同的图标,因为我们在下篇会讲解使用不同的图表,相同的图表还是比较简单的,我们来看下效果图 具体怎么去实现呢,这里我们先写点铺垫,比如我们需要一个基类的Activity ViewPagerBaseActivity package com.liuguilin.mpandroidchartsample

Android图表库MPAndroidChart(十一)——多层级的堆叠条形图

Android图表库MPAndroidChart(十一)--多层级的堆叠条形图 事实上这个也是条形图的一种扩展,我们看下效果就知道了 是吧,他一般满足的需求就是同类数据比较了,不过目前我还真没看过哪个app有这样的图表,但是并不代表我们不能实现呀对吧,我们来看下基本实现 一.基本实现 看下我们的layout是怎么定义的 <com.github.mikephil.charting.charts.BarChart android:id="@+id/mBarChart" android

Android图表库MPAndroidChart(六)——换一种思考方式,水平条形图的实现过程

Android图表库MPAndroidChart(六)--换一种思考方式,水平条形图的实现过程 一.基本实现 我们之前实现了条形图,现在来看下水平条形图是怎么实现的,说白了就是横起来,看下效果: 说起来现在写着博客就轻松很多了,大家对MPAndroidChart的大部分流程已经很熟悉了,我们先layout里面定义它的横向View <com.github.mikephil.charting.charts.HorizontalBarChart android:id="@+id/mHorizon

Android图表库XCL-Charts

首先,这个是国人开发的,支持下必须顶!github项目地址:点击打开,由于项目的基本功能已经实现,所以项目作者也说以后基本不会在有更新了. 项目简介: Android图表库(XCL-Charts is a free charting library for Android platform.),基于Android Canvas来绘制各种图表,使用简便,定制灵活.目前支持3D/非3D/背向式/横向/竖向柱形图(Bar Chart).3D/非3D饼图(Pie Chart).堆叠图(Stacked B

Android图表库MPAndroidChart(三)——双重轴线形图的实现,这次就so easy了

Android图表库MPAndroidChart(三)--双重轴线形图的实现,这次就so easy了 承上启下,当我们学习完这篇 Android图表库MPAndroidChart(二)--线形图的方方面面,看完你会回来感谢我的 之后,你对MPAndroidChart的套路应该是有一定的了解了,用来用去就是那么几个不断的扩展,那我们今天扩展一下双轴的图标,什么是双轴呢?就是两个x或者两个y轴,看图 为了形成鲜明的对比,我把背景设置成黑色的了,我们来看下这个我们应该怎么去实现? 一.基本实现 这里布

Android图表库MPAndroidChart(二)——线形图的方方面面,看完你会回来感谢我的

Android图表库MPAndroidChart(二)--线形图的方方面面,看完你会回来感谢我的 我们继续来就学习,我是强烈建议看本篇之前先看我的上一篇 Android图表库MPAndroidChart(一)--了解他的本质,方能得心应手 我们这里来实现它的折线图,也就是我们的第一个图形,我们先来看下运行后的结果: 我们一步一步来分析他是怎么实现的,首先,我们要分析他组成的元素一共是多少有多少,我们抛开基本控件Button之外,我们算了算 x轴(最大/最小值 颜色 高宽等) Y轴(最大/最小值

Android 图表绘制 achartengine 示例解析

作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38420197 一. AChartEngine 简介 1. 项目地址 AChartEngine 简介 : AChartEngine 是 Android 平台的图表开发库, 能绘制 折线图, 饼图, 气泡图, 柱状图, 散点图, 面积图等统计图表; 最新版本 : 1.1.0 版本; AChartEngine 地址 : https://code.google.co

【非常强大的Android图表引擎 - AChartSDK】

在手机移动App开发中,图表在app中越来越占据举足轻重的地图,而在Android领域,AchartEngine 图表引擎可谓无人不知无人不晓.但是今天就给各位推荐更为强大的图表引擎.为什么说更为强大呢?因为该引擎也是基于AchartEngine,但是新增了非常多使用而且更加友好的工功能. 还是先上图:     从上面的三个图就可以简单看出AcharSDK,支持的功能如下: 1.针对所有图表: 动态设置X/Y 轴Title 的位置                                

Android图表库MPAndroidChart(十二)——来点不一样的,正负堆叠条形图

Android图表库MPAndroidChart(十二)--来点不一样的,正负堆叠条形图 接上篇,今天要说的,和上篇的类似,只是方向是有相反的两面,我们先看下效果 实际上这样就导致了我们的代码是比较类似的,先来看下我们的基本实现 一.基本实现 布局还是那个布局,只不过是横向的了 <com.github.mikephil.charting.charts.HorizontalBarChart android:id="@+id/mHorizontalBarChart" android: