昨天Echarts4.0正式发布,随着4.0而来的是一系列的更新,挑几个主要的简单说明:

1.展示方面通过增量渲染技术(4.0+)ECharts 能够展现千万级的数据量

2.针对移动端优化,移动端小屏上适于用手指在坐标系中进行缩放、平移。可选的 SVG 渲染模块让图表在移动端更加节省内存。

3.增加多种渲染方案,可实现跨平台使用,现有三种方案,可渲染Canvas、SVG(4.0+)、VML 的形式渲染图表。VML 可以兼容低版本 IE,SVG 使得移动端不再为内存担忧,Canvas 可以轻松应对大数据量和特效的展现。

4.从 4.0 开始通过和微信小程序的团队合作,提供了 ECharts 对小程序的适配!(目前功能开发完毕,内测中,等待微信开发者工具更新,超激动!!!!!!)

5.无障碍访问(4.0+),支持自动根据图表配置项智能生成描述,使得盲人可 以在朗读设备的帮助下了解图表内容,让图表可以被更多人群访问

6.增加旭日图图表

旭日图尝鲜:

旭日图也称为太阳图(长得确很像太阳,层级关系也很像地球的内部结构),层次结构中每个级别的比例通过1个圆环表示,离原点越近代表圆环级别越高,最内层的圆表示层次结构的顶级,然后一层一层去看数据的占比情况。另外,有人说旭日图是圆环图的子集,其实可以这样理解,因为当数据不存在分层,这时旭日图=圆环图。

实例:实现一个省市区的旭日图

1.html-----这个就不说了

  1. <div id="sun" style="width: 500px;height: 500px;"></div>

2.配置项(部分常用);

type(类型):

设置为'sunburst'

  1. type: 'sunburst'

center(图的坐标):

默认是[50%,50%],居中显示

旭日图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标。

支持设置成百分比,设置成百分比时第一项是相对于容器宽度,第二项是相对于容器高度。

  1. center: ['50%', '50%']

levels(多层配置):

多层配置(比如说旭日图最外层的阳光就得用到它,通过他配置每一层的样式);

例如,将最外层的扇形块的标签向外显示,形成阳光效果,可以这样设置:

  1.  

levels: [{}, {}, {}, {},

{
 // 最后一层
  label: {
  position: 'outside',
  padding: 3,
  silent: false
  },
  itemStyle: {borderWidth: 3}
}

],

  1.  

data(数据):

data的数据格式是树状的,例如:

  1. [{
  2. name: 'parent1',
  3. value: 10, // 可以不写父元素的 value,则为子元素之和;
  4. // 如果写了,并且大于子元素之和,可以用来表示还有其他子元素未显示
  5. children: [{
  6. value: 5,
  7. name: 'child1',
  8. children: [{
  9. value: 2,
  10. name: 'grandchild1',
  11. itemStyle: {
  12. // 每个数据可以有自己的样式,覆盖 series.itemStyle 和 level.itemStyle
  13. },
  14. label: {
  15. // 标签样式,同上
  16. }
  17. }]
  18. }, {
  19. value: 3,
  20. name: 'child2'
  21. }],
  22. itemStyle: {
  23. // parent1 的图形样式,不会被后代继承
  24. },
  25. label: {
  26. // parent1 的标签样式,不会被后代继承
  27. }
  28. }, {
  29. name: 'parent2',
  30. value: 4
  31. }]
series[i]-sunburst------->data[i]----->value 数字

数据值,如果包含 children,则可以不写 value 值。这时,将使用子元素的 value 之和作为父元素的 value。如果 value 大于子元素之和,可以用来表示还有其他子元素未显示。

series[i]-sunburst.data[i].name 字符串

显示在扇形块中的描述文字。

series[i]-sunburst.data[i].children 数组

子节点,递归定义,格式同 series-sunburst.data

配置完成代码js

  1. var myCharts = echarts.init(document.getElementById('sun'));
  2. var option = {
  3. series: {
  4. type: 'sunburst',
  5. center: ['50%', '50%'],
  6. levels: [{}, {}, {}, {}, {
  7.  
  8. label: {
  9. position: 'outside',
  10. padding: 3,
  11. silent: false
  12. },
  13. itemStyle: {
  14. borderWidth: 3
  15. }
  16. }],
  17. data: [{
  18. name: '辽宁省',
  19. children: [{
  20. name: '沈阳市',
  21. children: [{
  22. name: '沈河区',
  23. children: [{
  24. name: '抽烟人数',
  25. value: 20
  26. },{
  27. name: '不抽烟人数',
  28. value: 40
  29. }]
  30. },
  31. {
  32. name: '大东区',
  33. value: 40
  34. },
  35. {
  36. name: '沈北新区',
  37. value: 40
  38. },
  39. {
  40. name: '铁西区',
  41. children: [{
  42. name: '抽烟人数',
  43. value: 40
  44. },{
  45. name: '不抽烟人数',
  46. value: 20
  47. }]
  48. }
  49. ]
  50. },
  51. {
  52. name: '朝阳市',
  53. value: 10
  54. },
  55. {
  56. name: '大连市',
  57. value: 10
  58. },
  59. {
  60. name: '铁岭市',
  61. value: 10
  62. },
  63. {
  64. name: '抚顺市',
  65. value: 10
  66. },
  67. ]
  68. }, {
  69. name: '吉林省',
  70. value: 20
  71. }, {
  72. name: '黑龙江省',
  73. value: 20
  74. }, {
  75. name: '河北省',
  76. children: [{
  77. name: '郑州市',
  78. children: [{
  79. name: '1区',
  80. value: 70
  81. },
  82. {
  83. name: '2区',
  84. value: 40
  85. },
  86. {
  87. name: '3区',
  88. value: 40
  89. },
  90. {
  91. name: '4区',
  92. value: 5
  93. }
  94. ]
  95. },
  96. {
  97. name: '信阳市',
  98. value: 20
  99. },
  100. {
  101. name: '安阳市',
  102. value: 10
  103. },
  104. {
  105. name: '邯郸市',
  106. value: 30
  107. },
  108. {
  109. name: '承德市',
  110. value: 5
  111. },
  112. ]
  113. }]
  114. }
  115. };
  116. myCharts.setOption(option);

搞定收工

基于Echarts4.0实现旭日图的更多相关文章

  1. Web纯前端“旭日图”实现元素周期表

    一.什么是旭日图 旭日图是在Excel 2016中新增的一种图表.有些类似饼图,饼图的优势是可以显示占比.但是饼图只能显示单级数据.旭日图用来表示多层级数据的占比.旭日图以一种分层方式显示,非常适合用 ...

  2. 编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)

    编译可在Nexus5上运行的CyanogenMod13.0 ROM (基于Android6.0) 作者:寻禹@阿里聚安全 前言 下文中无特殊说明时CM代表CyanogenMod的缩写. 下文中说的“设 ...

  3. 基于vue2.0的分页组件开发

    今天安排的任务是写基于vue2.0的分页组件,好吧,我一开始是觉得超级简单的,但是越写越写不出来,写的最后乱七八糟的都不知道下句该写什么了,所以重新捋了思路,小结一下- 首先写组件需要考虑: 要从父组 ...

  4. Servlet3.0学习总结——基于Servlet3.0的文件上传

    Servlet3.0学习总结(三)——基于Servlet3.0的文件上传 在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileu ...

  5. 基于AFNetworking3.0网络封装

    概述 对于开发人员来说,学习网络层知识是必备的,任何一款App的开发,都需要到网络请求接口.很多朋友都还在使用原生的NSURLConnection一行一行地写,代码到处是,这样维护起来更困难了. 对于 ...

  6. iOS_SN_基于AFNetworking3.0网络封装

    转发文章,原地址:http://www.henishuo.com/base-on-afnetworking3-0-wrapper/?utm_source=tuicool&utm_medium= ...

  7. 基于vue2.0前端组件库element中 el-form表单 自定义验证填坑

    eleme写的基于vue2.0的前端组件库: http://element.eleme.io 我在平时使用过程中,遇到的问题. 自定义表单验证出坑: 1: validate/resetFields 未 ...

  8. 基于vue2.0的一个豆瓣电影App

    1.搭建项目框架 使用vue-cli 没安装的需要先安装 npm intall -g vue-cli 使用vue-cli生成项目框架 vue init webpack-simple vue-movie ...

  9. WmS简介(三)之Activity窗口是如何创建的?基于Android7.0源码

    OK,在前面两篇博客中我们分别介绍了WmS中的token,同时也向小伙伴们区分了Window和窗口的区别,并且按照type值的不同将Android系统中的窗口分为了三大类,那么本篇博客我们就来看看应用 ...

随机推荐

  1. 回顾2017系列篇(一):最佳的11篇UI/UX设计文章

    2017已经接近尾声,在这一年中,设计领域发生了诸多变化.也是时候对2017年做一个总结,本文主要是从2017设计文章入手,列出了个人认为2017设计行业里最重要的UI/UX文章的前11名,供大家参考 ...

  2. touchstart和touchend事件

    touchstart和touchend事件 移动互联网是未来的发展趋势,现在国内很多互联网大佬都在争取移动这一块大饼,如微信及支付宝是目前比较成功的例子,当然还有各种APP和web运用. 由于公司的需 ...

  3. Java 包装类Integer的值比较

    对于包装类型Integer的值比较与int的值比较是不同的:   public class Java_Val_Compare { public static void main(String[] ar ...

  4. readAsDataURL(file) & readAsText(file, encoding)

      readAsDataURL(file)会把文件内容转换为data类型的URL: data:text/plain;base64,b3JkZXItaWQJb3JkZXItaXRlbS1p... 这种d ...

  5. java 实现的c当中的几道题

    package javastudy; /* * 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示. */ import jav ...

  6. 移动端IOS第三方输入法遮挡底部Input及android键盘回落留白问题

    var interval; //消息框获取焦点 $('#J_text').focus(function(){ interval = setInterval(function() { scrollToE ...

  7. input上传图片(file),预览图片的两种方法。blob与base64编码

    上传图片时一般都需要预览,我一般用这两种方法来实现.base64编码可以直接上传到后台,后台解析下,得到的文件就会比较小了,省去了压缩图片这一步了. //获取对象input file 的图片地址,放进 ...

  8. idea激活网站地址,亲测可用(windows7,idea 2016)

    help-register-license server,然后输入 http://idea.iteblog.com/key.php

  9. Linux 下Beanstalk安装

    1.安装 # wget https://github.com/kr/beanstalkd/archive/v1.10.tar.gz # tar xzvf v1.10 # cd beanstalkd-1 ...

  10. C#保留2位小数的做法

    第一 算法实现           保留两位的话,就用一个浮点型先乘以100,然后取整,取整完了之后,再乘以1.0,然后再除以100.          上面这种做法是保留n位,不会四舍五入的.因为这 ...