Highcharts 中文社区

 找回密码
 立即注册
Highcharts 中文社区 门户 HC 学院 查看内容

饼图类问题

2016-10-31 16:18| 发布者: 彭芳| 查看: 435| 评论: 0

摘要: 关于饼图单选多选

一、关于饼图单选多选

1、在扇区(对应的是点,Point)的点击事件里做判断,具体的判断逻辑是判断是否已经有选中的点并对选中的点进行取消选择操作

关键部分代码是:

1)获取选中的点

chart.getSelectedPoints();

2)对点进行取消选择操作

Point.select(false);

最终结果见:http://code.hcharts.cn/hcharts.cn/hhhGsl

2、修改源码,去掉 ctrl、shift 按钮的功能

具体是修改 Point.firePointEvent 函数,修改的内容是将 “point.select(null, event.ctrlKey || event.metaKey || event.shiftKey);” 修改为“point.select(null);” 具体代码是(直接将下面的代码放在页面上就行了):

Point.prototype.firePointEvent = function(eventType, eventArgs, defaultFunction) {
    var point = this,
        series = this.series,
        seriesOptions = series.options;
     // load event handlers on demand to save time on mouseover/out
    if (seriesOptions.point.events[eventType] || (point.options && point.options.events && point.options.events[eventType])) {
        this.importEvents();
    }
     // add default handler if in selection mode
    if (eventType === 'click' && seriesOptions.allowPointSelect) {
        defaultFunction = function(event) {
            // Control key is for Windows, meta (= Cmd key) for Mac, Shift for Opera
            if (point.select) { // Could be destroyed by prior event handlers (#2911)
                 // 将这行换成 point.select(null);
                //point.select(null, event.ctrlKey || event.metaKey || event.shiftKey);
                point.select(null);
            }
        };
    }
     fireEvent(this, eventType, eventArgs, defaultFunction);
 }

二、js 里生成对象或数组对象的方法:

// 定义数组
var arr = [];

for(var i=0;i<10;i++) {
    // 定义对象
    var obj = {};

    // 设置对象值
    obj.name = 'name';
    obj.y = 1212121;
    obj.color = '#000';

    // 或者直接 obj = { name: '', y: 221, color: '##'}

    // 将对象 push 到数组中
    arr.push(obj);
}

三、饼图下钻后能否变成柱形图显示?

addSeries() 的时候设置下图表类型就行了,即

chart.addSeries({
    name: name,
    data: data,
    type: 'spline' // 设置数据列类型
    color: color || 'white',
}, false);





2

路过

雷人

握手
1

鲜花

鸡蛋

刚表态过的朋友 (3 人)

最新评论

返回顶部