将图例拖出Highchart

时间:2014-06-13 07:31:24

标签: javascript html5 highcharts drag-and-drop

我有一堆系列表示为图表外的按钮,可以拖动。当我将这些拖到折线图上时,我会添加具有正确值的系列。这部分正在运作。

当我想从图表中删除系列时,我不是类似的工作流程。图例项可能是拖出图表的最佳项目,但是我在使用原生HTML5拖放API使图例可拖动时遇到了重大问题。

我使用HTML-legend并将正确的HTML属性附加到它,没有运气。小提琴here

$(function () {
    $('#container').highcharts({
        title: {
            text: 'Monthly Average Temperature'
        },
        subtitle: {
            text: 'Source: WorldClimate.com'
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        yAxis: {
            title: {
                text: 'Temperature (°C)'
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        tooltip: {
            valueSuffix: '°C'
        },
        legend: {
            useHTML: true
        },
        series: [{
            name: 'Tokyo',
            data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
        }, {
            name: 'New York',
            data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
        }, {
            name: 'Berlin',
            data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
        }, {
            name: 'London',
            data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
        }]
    });
$('div .highcharts-legend-item span')
    .attr('draggable', 'true')
    .attr('ondragstart', 'dragChartLegend(event)');
});

function dragChartLegend(event) {
    console.log(event);
}

我不太确定是什么导致了这个问题 - 但我相信这是Highcharts所做的事情 - 因为网站上其他地方的传说的原始副本和粘贴效果很好。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,这种方式是不可能的,因为符号不会移动(它不是html元素,而是svg)。您可以尝试调整此插件: http://www.highcharts.com/plugin-registry/single/32/draggable-legend-box