zoukankan      html  css  js  c++  java
  • echarts 有关饼形图和map的使用技巧1(饼图)

    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:弹窗

  • 相关阅读:
    剑指offer---链表中倒数第k个结点
    剑指offer---反转链表
    剑指offer---从尾到头打印链表
    数据结构---链表ADT C++实现
    ubuntu解压zip文件出现乱码情况解决方法
    Ubuntu终端常用的快捷键(转载)
    requsets模块的学习
    爬虫的基本知识
    谈谈我们对userAgent的看法,为什么爬虫中需要userAgent?
    git的基本使用
  • 原文地址:https://www.cnblogs.com/wangtong111/p/7374928.html
Copyright © 2011-2022 走看看