javascript - Google Visualization API - 保存和检索 ChartWrapper 对象

标签 javascript jquery charts google-visualization local-storage

在 Google 可视化图表编辑器中修改图表后,希望保存 ChartWrapper 对象,以便页面重新加载他们选择的最后一个图表,而不是选项中的默认设置。

我已经使用以下代码成功保存了 ChartWrapper 对象的 JSON.stringfy 表示:

function getWrapper() {
            chart = chartEditor.getChartWrapper();
            localStorage.setItem('chartWrapper', JSON.stringify(chart));
            redrawChart();
    }

默认图表的代码如下:

chart = new google.visualization.ChartWrapper({
        chartType: 'LineChart',
        containerId: 'chart_div',
        dataTable: data,
        options: {
            title: '@Html.Raw(Model.KeyIndicatorName)',
            hAxis: {
                slantedText: true,
                slantedTextAngle: 30,
                title: 'Reporting Period'
            },
            vAxis: {
                title: '@Model.XAxis'
            },
            chartArea: {
                top: 40,
                width: "65%"
            },
            pointSize: 5
        }
    });

如果 localStorage 项可用,则重新加载时我希望默认选项被这些值取代。

我该如何实现?

最佳答案

需要使用图表包装方法toJSON方法,而不是JSON.stringify...

function getWrapper() {
    chart = chartEditor.getChartWrapper();
    localStorage.setItem('chartWrapper', chart.toJSON());
    redrawChart();
}

然后您可以直接从 json 创建图表...

var chart = new google.visualization.ChartWrapper(localStorage.getItem('chartWrapper'));

关于javascript - Google Visualization API - 保存和检索 ChartWrapper 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48564191/

相关文章:

javascript - 还有一个 document.referrer.pathname 的事情

javascript - jquery Jcrop如何进行轮选?有可能吗?

javascript - jQuery UI Accordion 插件和显示隐藏切换在所有 Accordion div 上激活

javascript - 如何将此 jQuery 代码转换为 javascript 代码?

javascript - 谷歌图表 : modify toopl tip

javascript - NVD3 图表抑制隐藏图表的渲染

javascript - 为什么 innerHTML 不起作用?

Javascript将小数幂转换为常规小数

jquery - JavaScript 查找框

javascript - Highcharts 动态图表与 MySQL 数据不会重新加载