http://blog.csdn.net/yhn1121/article/details/52041742 先上个链接,百度无意间搜到的,写得比我全面,可以直接飞去看它;
之前写网页用过echarts,中间有比较多不懂的地方,写完之后用比较清闲的时间试了一下官方示例中 南丁格尔玫瑰图即Customized Pie 中各个代码所控制的部分,整理了一下
后期还会陆续补充,说不定后来就比链接里那个哥们写的全面了呢(可惜没有表情,手动斜眼)
还得一个斜眼,因为突然看到了echarts的说明文档,链接造福人类 http://echarts.baidu.com/option.html#series-pie.label
下面是官方实例的代码:我会在后面以注释的形式进行标注
option = {
backgroundColor: '#2c343c',
//很显然这就是官方示例中外面的那一块大的黑色背景,还可以自己更改颜色,随你喜欢; 下面还有阴影部分和饼图大小与位置的控制代码,敬请期待
title: {
//有尝试过设置奇特的position,标题图层在饼图图层之上
text: 'Customized Pie',
//这个是最上面的大标题,空的话标题会消失,当然也可以换成你喜欢的任意标题
left: 'center',
//很显然,这个是标题的对齐方式,支持纯数字和px的形式
top: 20,
//距顶部距离,不支持px形式
textStyle: {
color: '#ccc'
//标题颜色,textStyle可能还有其他的属性,没有尝试 end
}
},
tooltip : {
//当鼠标悬停于饼图时出现的数据详情框
trigger: 'item',
//据说有'item'与axis两种取值,尝试过饼图中axis无效,数据详情框会消失,据说在柱状图中会有作用,只是并没有尝试
formatter: "{a} <br/>{b} : {c} ({d}%)"
//数据详情框的数据{a}代表series中的name <br/>换行,{b}为data.name {c}为data.value {d}为占总数的百分比
},
visualMap: {
//看到有讲是设置图值变化颜色(visualMap),觉得有道理,不过这个其实就是左下角的色彩条设置
show: false,
//左下角缩略图,是一个色条,应该表示的是最深色到最浅色,有两个可能的取值,true和false,true为显示色条,false为隐藏色条
min: 80,
max: 600,
//当min==max时,饼图颜色均匀,实例为红色,当然试了一下min和max的值具体指的是什么不是很理解
inRange: {
colorLightness: [0, 1]
//该值为颜色的明暗度,具体可以参见左下角色条,色条底部坐标值为0,顶部为1
}
},
series : [
{
name:'访问来源',
//显示在数据详情框中的一部分,实例中是第一行的内容
type:'pie',
//饼形图默认是pie, 据我观察所有的饼图不管是南丁格尔,还是环形还是嵌套环形,type值都是pie
radius : '55%',
//饼图直径与背景的比值,可以在背景大小不变的情况下缩放饼形图的大小
center: ['50%', '50%'],
//饼图圆心的位置,不同的是,前者是left 后者是top
data:[
{value:335, name:'直接访问'},
{value:310, name:'邮件营销'},
{value:274, name:'联盟广告'},
{value:235, name:'视频广告'},
{value:400, name:'搜索引擎'}
// 此几者为饼形图数据,会随着比重变化半径与颜色,当然,min与max设置可以使其颜色不变
//,另外半径变化不知道由哪个参数控制,后面也知道了,就是series-rosetype
].sort(function (a, b) { return a.value - b.value; }),
//数据的排序,使用了.sort()与function(a,b){}函数,可见最下方解释
roseType: 'radius',
//有两个取值,①'radius' 扇区圆心角展现数据的百分比,半径展现数据的大小。 ② 'area'所有扇区圆心角相同,仅通过半径展现数据大小。
label: {
//外部指示线的文本标签
normal: {
//有两种可能的取值,normal 和 emphasis(强调; 着重; (轮廓、图形等的) 鲜明; 突出,重读;)括号内的是英语意思,而我看了一下说明文档,这两个取值normal有position取值而emphasis没有,其它属性大致相同
textStyle: {
//标签的字体样式。 包括color,fontStyle,fontWeight,fontFamily,fontSize 等属性
color: 'rgba(255, 255, 255, 0.3)'
//标签字体颜色
}
}
},
labelLine: {
//标签的视觉引导线样式
normal: {
//与label类似也有两种可能的取值,normal 和 emphasis 其属性区别较大 emphasis时不存在smooth,length,length2三个属性
lineStyle: {
color: 'rgba(255, 255, 255, 0.3)'
//引导线颜色,还有多种样式
},
smooth: 0.2,
//视觉引导线弯曲程度,0为直线加拐角,1为完全的曲线,弯曲程度可以自己去试
length: 10,
length2: 20
//上两者为两条直线分别的长度,单位不一致,具体不清楚
}
},
itemStyle: {
//图形样式,有 normal
和 emphasis
两个状态。normal
是图形在默认状态下的样式;
//emphasis
是图形在高亮状态下的样式,比如在鼠标悬浮或者图例联动高亮时。
normal: {
color: '#c23531',
//就如上面所说这个属性时图形在默认状态下的颜色,
//不过我发现了一个神奇的事情,如果引号内为空,那么颜色为五彩,当然引号不能去掉,否则会报错
shadowBlur: 200,
//这个就是饼图阴影的控制属性,数字越大阴影越宽,可以为0,没有阴影,但是不能为空
shadowColor: 'rgba(0, 0, 0, 0.5)'
//这个是阴影的透明度和颜色,颜色来说的话可以用三种方式来表示:rgba;#;red;后两者时支持opacity属性
}
},
animationType: 'scale',
//初始动画效果,可选 :①expansion
默认研圆弧展开的效果。②scale
缩放效果,配合设置 animationEasing='elasticOut'
可以做成 popup 的效果。
animationEasing: 'elasticOut',
//初始动画的缓动效果 匀速,先快后慢先慢后快等等,一个链接 http://echarts.baidu.com/gallery/editor.html?c=line-easing
animationDelay: function (idx) {
//初始动画的延迟,有试过将实例中的下面一个参数扩大十倍,效果就非常明显
return Math.random() * 200;
// Math.random() .random() 方法可返回介于 0 ~ 1 之间的一个随机数,语法为 Math.random()
}
}
]
};
sort() 方法用于对数组的元素进行排序。
语法为 arrayObject.sort(sortby) 即 [].sorrt()
其中sortby规定排序顺序。必须是函数。
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。
若想使其顺序为按数字大小进行排序则应如此写 [].sort(function (a, b) { return a - b;}),此时为升序,b-a为降序
popup:弹窗