我有一个奇怪的问题:

series1变量是日期时间数组,太长了。因此,该图表无法正确显示。但是,如果更改series1以使其包含series2的值。它将正常工作。您能告诉我该怎么做吗?

另外,如何获得series1中显示为日期的每个值?假设它是烧瓶{{series1}}中的变量。谢谢。

    $(function () {

        var series1 = [1489298400000L, 1492923600000L, 1492318800000L, 1480226400000L, 1494133200000L, 1490504400000L, 1488088800000L, 1475384400000L, 1493528400000L, 1491109200000L, 1480831200000L, 1471755600000L]
        var series2 = [1, 7, 2, 1, 4, 1, 1, 1, 4, 6, 1, 1]
        var series3 = [102, 95, 110, 111, 81, 104, 99, 92, 90, 100, 103, 98]
        var myChart =
            Highcharts.chart('container', {
                chart: {
                    zoomType: 'xy'
                },
                title: {
                    text: 'Average Monthly Temperature and Rainfall in Tokyo'
                },
                credits: {
                    text: 'Songhuiming',
                    href: 'http://www.songhuiming.com'
                },
                subtitle: {
                    text: 'Source: WorldClimate.com'
                },
                xAxis: [{
                    categories: series1,
                    crosshair: true
                }],
                yAxis: [{ // Primary yAxis
                    labels: {
                        format: '{value}°C',
                        style: {
                            color: Highcharts.getOptions().colors[1]
                        }
                    },
                    title: {
                        text: 'Temperature',
                        style: {
                            color: Highcharts.getOptions().colors[1]
                        }
                    }
                }, { // Secondary yAxis
                    title: {
                        text: 'Rainfall',
                        style: {
                            color: Highcharts.getOptions().colors[0]
                        }
                    },
                    labels: {
                        format: '{value} mm',
                        style: {
                            color: Highcharts.getOptions().colors[0]
                        }
                    },
                    opposite: true
                }],
                tooltip: {
                    shared: true
                },
                legend: {
                    layout: 'vertical',
                    align: 'left',
                    x: 120,
                    verticalAlign: 'top',
                    y: 100,
                    floating: true,
                    backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'
                },
                series: [{
                    name: 'Rainfall',
                    type: 'column',
                    yAxis: 1,
                    data: series2,
                    tooltip: {
                        valueSuffix: ' mm'
                    }

                }, {
                    name: 'Temperature',
                    type: 'spline',
                    data: series3,
                    tooltip: {
                        valueSuffix: '°C'
                    }
                }]
            });
    });

最佳答案

关于结尾的后缀“ L”,您可以阅读here

首先需要使series1数组中的所有项目成为字符串,这是因为现在,您将遇到错误。然后删除“ L”并转换为日期

let series = ['1489298400000L', '1492923600000L', '1492318800000L', '1480226400000L', '1494133200000L', '1490504400000L', '1488088800000L', '1475384400000L', '1493528400000L', '1491109200000L', '1480831200000L', '1471755600000L'];
let series1 = series.map((item) => {
  let date = new Date(parseInt(item.replace("L", ""))));
  return `${date.getMonth()} ${date.getFullYear()}`;
});

关于javascript - 数字太长,无法在highcharts/javascript中正确显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48837484/

10-09 23:48