更改Highcharts主题(部分工作)

时间:2012-03-26 12:12:24

标签: javascript jquery themes highcharts

我在更改highcharts的主题时遇到问题。我创建了一个数组来保存所有主题,并尝试通过选择列表onChange事件来更改它们。

var highcharts_theme = [];

/* Default theme */
highcharts_theme.push({});

/* Dark Blue theme */
highcharts_theme.push({
    colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee",
        "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"],
    chart: {
        backgroundColor: {
            linearGradient: [0, 0, 250, 500],
            stops: [
                [0, 'rgb(48, 48, 96)'],
                [1, 'rgb(0, 0, 0)']
            ]
        },
.... Shortened for brevity.....

我更改主题的代码是:

    $('#theme-type').selectmenu({ width: 200 }).change(function (e) {
        var themeIndex = parseInt($('#theme-type').val());
        Highcharts.theme = highcharts_theme[themeIndex];
        // Apply the theme
        highchartsOptions = Highcharts.setOptions(Highcharts.theme);
    });

我遇到的问题是,例如,如果我切换到天空主题它很好,但随后更改为任何其他主题,天空背景将与主题的其他元素一起保留。

有没有人知道完全重置主题的正确方法?

由于

1 个答案:

答案 0 :(得分:4)

如果删除所有颜色选项并重新加载Highcharts对象,它将默认返回默认的基本主题。如果将以下设置为null,则重新加载后不应显示背景图像。

plotBackgroundImage: null