echarts 图表_ECHARTS

echarts 图表_ECHARTS旭日图(Sunburst)由多层的环形图组成,在数据结构上,内圈是外圈的父节点。因此,它既能像饼图一样表现局部和整体的占比,又能像矩形树图一样表现层级关系。ECharts创建旭日图很简单,只需要在series配置项中声明类型为sunburst即可,data数据结构以树形结构声明,看下一个简单的实例:varoption={series:{type:’sunburst’,data:…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

旭日图(Sunburst)由多层的环形图组成,在数据结构上,内圈是外圈的父节点。因此,它既能像饼图一样表现局部和整体的占比,又能像矩形树图一样表现层级关系。

ECharts 创建旭日图很简单,只需要在 series 配置项中声明类型为 sunburst 即可,data 数据结构以树形结构声明,看下一个简单的实例:

var option ={

series: {

type:’sunburst’,

data: [{

name:’A’,

value:10,

children: [{

value:3,

name:’Aa’}, {

value:5,

name:’Ab’}]

}, {

name:’B’,

children: [{

name:’Ba’,

value:4}, {

name:’Bb’,

value:2}]

}, {

name:’C’,

value:3}]

}

};

一、颜色等样式调整

默认情况下会使用全局调色盘 color 分配最内层的颜色,其余层则与其父元素同色。

在旭日图中,扇形块的颜色有以下三种设置方式:在 series.data.itemStyle 中设置每个扇形块的样式。

在 series.levels.itemStyle 中设置每一层的样式。

在 series.itemStyle 中设置整个旭日图的样式。

上述三者的优先级是从高到低的,也就是说,配置了 series.data.itemStyle 的扇形块将会覆盖 series.levels.itemStyle 和 series.itemStyle 的设置。

下面,我们将整体的颜色设为灰色 #aaa,将最内层的颜色设为蓝色 blue,将 Aa、B 这两块设为红色 red。

var option ={

series: {

type:’sunburst’,

data: [{

name:’A’,

value:10,

children: [{

value:3,

name:’Aa’,

itemStyle: {

color:’red’}

}, {

value:5,

name:’Ab’}]

}, {

name:’B’,

children: [{

name:’Ba’,

value:4}, {

name:’Bb’,

value:2}],

itemStyle: {

color:’red’}

}, {

name:’C’,

value:3}],

itemStyle: {

color:’#aaa’},

levels: [{//留给数据下钻的节点属性

}, {

itemStyle: {

color:’blue’}

}]

}

};

按层配置样式是一个很常用的功能,能够很大程度上提高配置的效率。

二、数据下钻

旭日图默认支持数据下钻,也就是说,当点击了扇形块之后,将以该扇形块的数据作为根节点,进一步显示该数据的细节。

在数据下钻后,图形的中间会出现一个用于返回上一层的图形,该图形的样式可以通过 levels[0] 配置。

var data =[{

name:’Grandpa’,

children: [{

name:’Uncle Leo’,

value:15,

children: [{

name:’Cousin Jack’,

value:2}, {

name:’Cousin Mary’,

value:5,

children: [{

name:’Jackson’,

value:2}]

}, {

name:’Cousin Ben’,

value:4}]

}, {

name:’Father’,

value:10,

children: [{

name:’Me’,

value:5}, {

name:’Brother Peter’,

value:1}]

}]

}, {

name:’Nancy’,

children: [{

name:’Uncle Nike’,

children: [{

name:’Cousin Betty’,

value:1}, {

name:’Cousin Jenny’,

value:2}]

}]

}];

option={

series: {

type:’sunburst’,//highlightPolicy: ‘ancestor’,

data: data,

radius: [0, ‘90%’],

label: {

rotate:’radial’}

}

};

如果不需要数据下钻功能,可以通过将 nodeClick 设置为 false 来关闭,也可以设为 ‘link’,并将 data.link 设为点击扇形块对应打开的链接。

三、高亮相关扇形块

旭日图支持鼠标移动到某扇形块时,高亮相关数据块的操作,可以通过设置 highlightPolicy,包括以下几种高亮方式:’descendant'(默认值):高亮鼠标移动所在扇形块与其后代元素;

‘ancestor’:高亮鼠标所在扇形块与其祖先元素;

‘self’:仅高亮鼠标所在扇形块;

‘none’:不会淡化(downplay)其他元素。

上面提到的”高亮”,对于鼠标所在的扇形块,会使用 emphasis 样式;对于其他相关扇形块,则会使用 highlight 样式。通过这种方式,可以很方便地实现突出显示相关数据的需求。

具体来说,对于配置项:

itemStyle: {

color:’yellow’,

borderWidth:2,

emphasis: {

color:’red’},

highlight: {

color:’orange’},

downplay: {

color:’#ccc’}

}

highlightPolicy 为 ‘descendant’:

option ={

silent:true,

series: {

radius: [‘15%’, ‘95%’],

center: [‘50%’, ‘60%’],

type:’sunburst’,

sort:null,

highlightPolicy:’descendant’,

data: [{

value:10,

children: [{

name:’target’,

value:4,

children: [{

value:2,

children: [{

value:1}]

}, {

value:1}, {

value:0.5}]

}, {

value:2}]

}, {

value:4,

children: [{

children: [{

value:2}]

}]

}],

label: {

normal: {

rotate:’none’,

color:’#fff’}

},

levels: [],

itemStyle: {

color:’yellow’,

borderWidth:2},

emphasis: {

itemStyle: {

color:’red’}

},

highlight: {

itemStyle: {

color:’orange’}

},

downplay: {

itemStyle: {

color:’#ccc’}

}

}

};

setTimeout(function() {

myChart.dispatchAction({

type:’sunburstHighlight’,

targetNodeId:’target’});

});

highlightPolicy 为 ‘ancestor’ :

option ={

silent:true,

series: {

radius: [‘15%’, ‘95%’],

center: [‘50%’, ‘60%’],

type:’sunburst’,

sort:null,

highlightPolicy:’ancestor’,

data: [{

value:10,

children: [{

value:4,

children: [{

value:2,

children: [{

name:’target’,

value:1}]

}, {

value:1}, {

value:0.5}]

}, {

value:2}]

}, {

value:4,

children: [{

children: [{

value:2}]

}]

}],

label: {

normal: {

rotate:’none’,

color:’#fff’}

},

levels: [],

itemStyle: {

color:’yellow’,

borderWidth:2},

emphasis: {

itemStyle: {

color:’red’}

},

highlight: {

itemStyle: {

color:’orange’}

},

downplay: {

itemStyle: {

color:’#ccc’}

}

}

};

setTimeout(function() {

myChart.dispatchAction({

type:’sunburstHighlight’,

targetNodeId:’target’});

});

四、更多实例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189269.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MyEclipse中安装SVN插件[通俗易懂]

    MyEclipse中安装SVN插件[通俗易懂]一、SVN插件的安装步骤1、打开MyEclipse软件,选择顶部的菜单栏中的“Help”—->“Installfromsite…”,出现以下弹窗2、点击右上角的“Add…”,填写SVN仓库信息,然后点击“OK”在Name后面填写“svn”在Location后输入“http://subclipse.tigris.org/update_1.10.x”…

    2022年7月20日
    11
  • serdes知识详解_discussed是什么意思

    serdes知识详解_discussed是什么意思理解SerDesFPGA发展到今天,SerDes(Serializer-Deserializer)基本上是标配了。从PCI到PCIExpress,从ATA到SATA,从并行ADC接口到JESD204,从RIO到SerialRIO,…等等,都是在借助SerDes来提高性能。SerDes是非常复杂的数模混合设计,用户手册的内容只是描述了森林里面的一棵小树,并不能够解释SerDes是怎么工作

    2022年10月23日
    0
  • jlink 与 swd 接口定义

    jlink 与 swd 接口定义1.JLink介绍J-Link是SEGGER公司为支持仿真ARM内核推出的JTAG仿真器。J-Link支持所有基于ARM架构的处理器或微控制器配合IAREWAR,ADS,KEIL等集成开发环境进行开发过程中进行单步控制执行调试。J-Link除了可以配合集成开发环境进行调试程序,进行程序下载之外,J-Link还可以单独使用。比如在产品的生产环节中,就可以单独使用J-Link进行固件的下载。JLink,SWD接口定义缺口向左,左边为JLink接口定义,右边为SWD接口定义JTAG

    2022年4月25日
    37
  • AutoEventWireup介绍

    AutoEventWireup介绍       ASP.NET页会引发诸如Init、Load、PreRender等生命周期事件。默认情况下,可以使用Page_事件名称的命名约定将页事件绑定到方法。例如,若要为页的Load事件创建处理程序,可以创建名为Page_Load的方法。编译时,ASP.NET将查找基于此命名约定的方法,并自动执行事件与方法之间的绑定。可以对Page类公开的任何事件使用Page

    2022年5月8日
    35
  • Alex 的 Hadoop 菜鸟教程: 第3课 Hadoop 安装教程 – 非HA方式 (一台server)

    Alex 的 Hadoop 菜鸟教程: 第3课 Hadoop 安装教程 – 非HA方式 (一台server)原帖地址:http://blog.csdn.net/nsrainbow/article/details/36629741接上一个教程:http://blog.csdn.net/nsrainbow/article/details/36629339本教程是在Centos6下使用yum来安装CDH5…

    2022年6月9日
    43
  • Java线程中的wait、notify和notifyAll解析

    Java线程中的wait、notify和notifyAll解析顾客去包子铺买包子,告知老板自身需求后,进入等待(调用wait()方法)老板处理的过程,此时顾客的状态为WAITING,老板做好包子后,告知(调用notify()方法)顾客包子做好了。?线程间的通信的主要思想是生产者消费者机制。

    2022年9月8日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号