<script src="https://img.hcharts.cn/jquery/jquery-1.8.3.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/drilldown.js"></script>

Highcharts.setOptions({
lang: {
drillUpText: '<< 返回 {series.name}'
}
});
var Dieren =[    //必须 与series中data中的 id 要一致 
{
name: "未提案",

type:"column",
data: [
{
name: "城一",
id:'Branch1',
color:'gray',
y: 500,
drilldown: '城1'
},
{
name: "城二",
id:'Branch1',
color:'gray',
y: 200,
drilldown: '城2'
}]
},
{
name: "已提案",

type:"column",
data: [
{
id:'new1',
name: "城一",
y: 740,
drilldown: 'year1'
},
{
id:'new1',
name: "城二",
y: 858,
drilldown: 'year2'
}]
}
];
var Fruit = [{
id: 'year1',
name: "未提",
type:'column',
color:'red',
data: [
['问题1',2],['问题2',3],['问题3',4]
],
},
{
id: 'year2',
name: "已提",
type:'column',
color:'green',
data:[
['问题1',1],['问题2',3],['问题3',4]
],
}
]
var Branch1 =[ {
id: '城1',
name: "未提",
type:'column',
color:'red',
data: [
['问题1',2],['问题2',3],['问题3',4]
],
},
{
id: '城2',
name: "已提",
type:'column',
color:'green',
data:[
['问题1',5],['问题2',3],['问题3',4]
],
}
]
var new1 =[ {
id: '城1',
name: "未提",
type:'column',
color:'red',
data: [
['问题1',2],['问题2',3],['问题3',4]
],
},
{
id: '城2',
name: "已提",
type:'column',
color:'green',
data:[
['问题1',1],['问题2',3],['问题3',4]
],
}
]

// Create the chart
Highcharts.chart('container', {
chart: {
type: 'pie',
events:{//设置下钻的重要部分 将数据更新到图中
drilldown:function(e){
for(var i = 0; i < eval(e.point.id).length; i ++){
this.addSingleSeriesAsDrilldown(e.point, eval(e.point.id)[i]);
}
this.applyDrilldown();
}
}
},
title: {
text: '室外问题'
},
xAxis: {
type: 'category'
},

legend: {
enabled: false
},

plotOptions: {
series: {
borderWidth: 0,
dataLabels: {
enabled: true
}
},
column:{
stacking:'normal'
}
},

series: [{
name: '总问题',
colorByPoint: true,
data: [{
id:'Dieren',  //对应下钻数据的数组名称
name: '未提案',
y: 5,
drilldown: 'animals'
}, {
id:'Fruit',
name: '已提案',
y: 2,
drilldown: 'fruits'
}]
}],
drilldown: {
drillUpButton: {
relativeTo: 'spacingBox',
position: {
y: 0,
x: 0
},
theme: {
fill: 'white',
'stroke-width': 1,
stroke: 'silver',
r: 0,
states: {
hover: {
fill: '#a4edba'
},
select: {
stroke: '#039',
fill: '#a4edba'
}
}
}

},
}
});

highcharts的多级下钻以及图形形态转换的更多相关文章

  1. 初识OpenCV-Python - 008: 形态转换

    本节学习了图片的形态转换,即利用函数和图像的前景色和背景色去侵蚀或者扩张图像图形. import cv2import numpy as npfrom matplotlib import pyplot ...

  2. linux下的字符界面和图形界面转换

    linux下的字符界面和图形界面转换 linux下有六个虚拟终端按键ctrl+alt+F1-F6可以进入相应的虚拟终端永久的话修改/etc/inittab将id:5:initdefault:中的5改成 ...

  3. [Xcode 实际操作]六、媒体与动画-(2)使用图形上下文转换图片为灰度图

    目录:[Swift]Xcode实际操作 本文将演示如何将图片转换为灰度图. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class V ...

  4. Qt之图形(转换)

    简述 QTransform类指定坐标系的2D转换,可以指定平移.缩放.扭曲(剪切).旋转或投影坐标系.绘制图形时,通常会使用. QTransform与QMatrix的不同之处在于,它是一个真正的3x3 ...

  5. 将图标LOGO之类的图形图像转换成字体调用方法大全

    借鉴百度对此标题的评价: 使用字体图标的优势 字体图标除了图像清晰度之外,比位图还有哪些优势呢. 适用性:一个图标字体比一系列的图像(特别是在Retina屏中使用双倍大小的图像)要小.一旦图标字体加载 ...

  6. linux文本图形界面转换

    vim /etc/inittab 3为默认进入文本界面, 5为默认进入图形界面 文本界面下输入init5或者startx切换图形化界面  图形化界面下输入init3切换文本界面

  7. OpenGL 图形管道(graphics pipeline)过程

    1.总结:Graphics pipeline 主要分为两部分工作 把3D坐标转换成2D坐标 把2D坐标转换成真实的有颜色的像素 2.下图就是一个顶点数据经过几个步骤后转化成显示在屏幕上像素的过程(一般 ...

  8. Highcharts.js -纯javasctipt图表库初体验

    一.highcharts简介以及引入 highcharts作为免费提供给个人学习.个人网站和非商业用途使用的前端图表演示插件的确使用起来十分方便和轻便.在我最近完成一个需求的时候用到了它, 它的兼容性 ...

  9. Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception process Vob7

    Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception processVob7 1. 1. javascript异常处理机制 ...

随机推荐

  1. RobotFramework中解析中文报错UnicodeDecodeError

    在RobotFramework中解析一段包含中文的字符串时遇到下面的报错: FAIL : UnicodeDecodeError: 'ascii' codec can't decode byte 0xe ...

  2. HTML里为什么不能在<p>标签中嵌套<div>标签

    学习过HTML语言的人都应该知道,在HTML里,有分块级元素和内联元素:例如我们常用到的div,o,ul,dl,table,h1...h6等,这些都是块级元素:而像a,b,i,em,img,span等 ...

  3. HTML Socket实现 .NET

    HTML5 拥有许多引人注目的新特性,如 Canvas.本地存储.多媒体编程接口.WebSocket 等等.虽然现在大家把它捧的很火的样子,但是个人认为它还需要其他平台的支持才能真正的"火起 ...

  4. 平时自己项目中用到的CSS

    outline  当选中input元素的时候会出现状态线, outline设置成none就没了 input{ outline:none; } contentditable  设置元素内的文本是否可编辑 ...

  5. try{} catch(…){} 讨论(转)

    以前都是用try{} catch(…){}来捕获C++中一些意想不到的异常, 今天看了Winhack的帖子才知道,这种方法在VC中其实是靠不住的.例如下面的代码: .try .{ .BYTE* pch ...

  6. Cobbler自动化部署最佳实践

    第1章 Cobbler自动化部署最佳实践 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的. 面对 ...

  7. 老李秘技:LoadRunner支持参数文件极限是多大

    老李秘技:LoadRunner支持参数文件极限是多大   Controller不支持参数文件大于20m

  8. 各位Coder看过来

    为了丰富博客内容,也为了解决一些实际的问题,现准备出一系列博文,内容为各位回复评论指明需要的知识点,将在近期为你解决并提供还算精要的讲解:评论内容要求 Coder:+需要的技术内容.技术内容不限领域, ...

  9. EDP转换IC NCS8801S:RGB/LVDS转EDP芯片

    RGB/LVDS-to-eDP Converter1 Features    Embedded-DisplayPort (eDP) Output    2-lane/4-lane eDP @ 1.62 ...

  10. Statistical Models and Social Science

    1.1 Statistical Models and Social Reality KEY: complex society v.s statistical models relationship,d ...