【问题标题】:How to change HighChart xAxis timeline to match local time and not UTC?如何更改 HighChart xAxis 时间线以匹配本地时间而不是 UTC?
【发布时间】:2016-09-14 13:32:43
【问题描述】:

请注意,在我的屏幕截图中,工具提示显示的是正确的当地时间。但是 xAxis 时间线显示的是 UTC 时间下午 12:00。

我在 2 个地方将 global:useUTC 设置为 false:

在我的图表配置中:

 vm.config = {
    global: { useUTC : false }, // <--
    options: {
    // ....

以及在加载图表后运行的 setHighCharts 函数:

const setHighChartOptions = (color, background, gridLine) => {
    Highcharts.setOptions({
        global: { useUTC: false }, // <--
        chart: {
            backgroundColor: background
        },
        legend: {
            itemStyle: { color: color }
        },
        loading: {
            labelStyle: { color: color },
            style: { backgroundColor: background }
        },
        xAxis: { labels: {style: { color: color }}}
    });

    chart.get('y-axis-price').update({
        gridLineColor: gridLine,
        gridLineDashStyle: 'longdash'
    }, false);

    chart.get('x-axis-sentiment').update({
        tickColor: background
    }, false);

    chart.get('x-axis-alert').update({
        tickColor: background
    }, false);
};

我缺少什么吗? :(

【问题讨论】:

    标签: javascript charts highcharts utc timeline


    【解决方案1】:

    刚刚想通了!

    我的chartConfig 中的global 对象毫无用处......关键是 setHighChartOptions 函数。这需要运行才能将useUTC 设置为false。

    问题出在我的应用程序中,只有在您更改主题时才会调用该函数。所以现在我只是在加载图表后立即调用它,现在 useUTC 被正确设置为 false。

    const initHighChart = (chart, urlObject) => {
        setHighChartOptions('#fff', '#474747', '#656565');
        let ticker = urlRetrieve.ticker(urlObject);
        let epoch  = urlRetrieve.epochs(urlObject);
        setNewChartTicker(chart, ticker, epoch.start, epoch.end);
    };
    

    【讨论】:

    • 不错!提问 8 分钟后 ^^ 可见把问题写清楚的效率!
    猜你喜欢
    • 1970-01-01
    • 2018-08-26
    • 2012-03-12
    • 2021-03-09
    • 1970-01-01
    • 2011-09-06
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多