javascript - 重绘相同的 Highcharts

标签 javascript jquery highcharts redraw

我正在使用具有多个条形的 Highcharts 。我想要的是我在特定按钮单击上复制图表的加载效果...我尝试了以下代码

   $('#container').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Monthly Average Rainfall'
                },
                subtitle: {
                    text: 'Source: WorldClimate.com'
                },
                xAxis: {
                    categories: [
                        'Jan',
                        'Feb',
                        'Mar',
                        'Apr',
                        'May',
                        'Jun',
                        'Jul',
                        'Aug',
                        'Sep',
                        'Oct',
                        'Nov',
                        'Dec'
                    ],
                    crosshair: true
                },
                yAxis: {
                    min: 0,
                    title: {
                        text: 'Rainfall (mm)'
                    }
                },
                tooltip: {
                    headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
                    pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                            '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
                    footerFormat: '</table>',
                    shared: true,
                    useHTML: true
                },
                plotOptions: {
                    column: {
                        pointPadding: 0.2,
                        borderWidth: 0
                    }
                },
                series: [{
                        name: 'Tokyo',
                        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]

                    }, {
                        name: 'New York',
                        data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]

                    }, {
                        name: 'London',
                        data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]

                    }, {
                        name: 'Berlin',
                        data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]

                    }]
            });


function redrawing()
        {


            $('#container').highcharts().redraw();
        }

但这不起作用。我不想更改图表中的任何数据或任何内容。我想要的只是它在我单击按钮时重新加载。

最佳答案

建议的方法是销毁然后重新创建图表: http://forum.highcharts.com/highcharts-usage/animation-on-redraw-t8636/#p93199

这是一个显示此工作原理的 fiddle : http://jsfiddle.net/p7xerxh0/1/

    function redraw() {
      $('#container').highcharts().destroy();
      createChart(); // wrap your creation code in a function and call it again
    }

关于javascript - 重绘相同的 Highcharts ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32206908/

相关文章:

javascript - 确定 HighStock 图表中可用的趋势线类型

javascript - 使用 react-d3-components 包的 D3 水平条形图

javascript - 消除就地定义为参数的函数?

javascript - 为什么 Javascript 异步/等待代码并行运行异步

javascript - 限制在 contenteditable 中粘贴 (HTML/JS)

javascript - 如何覆盖HTML5输入数字步进功能?使用 jQuery

javascript - 无法使用 'in' 运算符在 null 中搜索 'error'

javascript - 如何避免鼠标悬停时移动标志 - highcharts

jquery - 我如何在 Highcharts 中循环数据

javascript - Highcharts 不会在 Chrome 应用中显示