javascript - 使用按钮切换 Highcharts 绘图线

标签 javascript jquery highcharts

大家下午好,

只是一个非常快速的:我想知道是否可以切换 PlotLine(开/关),而不必删除它,然后必须从头开始添加它。原因是我正在从 PHP 数组构建图表,并且只能在加载图表时定义一次绘图线值。

当我尝试从其 ID 添加情节线时,它失败了。

var hasPlotLine = true 
        $button = $('#button'),
        chart = $('#container').highcharts();

    $button.click(function() {
        if (!hasPlotLine) {
            chart.yAxis[0].addPlotLine('hello');
            $button.html('Remove');
        } else {
            chart.yAxis[0].removePlotLine('hello');
            $button.html('5-day average');
        }
        hasPlotLine = !hasPlotLine;
    });

请看看我的 fiddle : http://jsfiddle.net/Guill84/3ApbR/

另外:是否有可能获得 highcharts 来直接给出最近五天的平均值?那么最后五个数据点的平均值......然后为我绘制线条?这可能会让我解决这个问题......

爱你们所有人,感谢你们的帮助。

G.

最佳答案

您可以将您的 php 回显到 JavaScript 变量中,以便您可以在需要时添加它。

但是,对于您的最后一个问题,您可以轻松地从图表中获取最后 5 个数据点,计算平均值并绘制它。

示例:

http://jsfiddle.net/jlbriggs/HZ88T/

相关代码:

...
},function(chart) {
    var lData = chart.series[0].data.slice(-5);
    var points = [];
    $.each(lData,function(i, point) {
        points.push(point.y);
    });
    var avg = mean(points);
    var options = {
        value:avg,
        width:1,
        color:'#c00',
        label: {
            align:'right',
            textAlign:'left',
            y: 2,
            text: '5 Day Avg: '+ avg,
            style: {
                fontSize:'9px'
            }
        }
    };
    chart.yAxis[0].addPlotBand(options);
});
//----------------------------------------
function mean(arr) {
    if(typeof arr != 'undefined') {
        var sum = 0;
        $.each(arr,function(i,v) {
            sum += v;
        });
        return sum / arr.length;
    }
    return false;       
}

关于javascript - 使用按钮切换 Highcharts 绘图线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22409719/

相关文章:

javascript - 当水平内容溢出时,如何使垂直滚动条停留在视口(viewport)中?

javascript - 如何在正文中制作标签以正确显示

javascript - 'position().top' 为空或不是对象?

javascript - 是否可以将 javascript 图表插入 JavaFX 应用程序

javascript - Node.js Sequelize 在多个模型的循环中使用 create 函数

javascript - 通过正则表达式标记匹配字符串并替换为 JavaScript 中标记内的文本

javascript - 需要将背景颜色应用于每个图例文本 Highcharts

javascript - 解决方案: Manage space between group columns in highchart

javascript - 只有第一个对象保存在 javascript for 循环中

jquery - 将鼠标悬停在 <an> 元素上后会被阻止并出现警告框