4

好的,所以我有一个 Highcharts 图表,可以正确显示数据库中的数据;但是当我放大时,图表变成空白?

这是图表 HTML:

<div class="content" id="content"></div>

这是图表的 Javascript 代码:

$(function () {
        $('#content').highcharts({
            chart: {
                zoomType: 'x',
                backgroundColor:'transparent'
            },
            credits: {
                enabled: false
            },
            title: {
                text: 'Players Online'
            },
            subtitle: {
                text: document.ontouchstart === undefined ?
                    'Click and drag in the plot area to zoom in' :
                    'Drag your finger over the plot to zoom in'
            },
            xAxis: {
                type: 'datetime',
                maxZoom: 3600000, // 1 hour
                title: {
                    text: null
                }
            },
            yAxis: {
                title: {
                    text: 'Players Online'
                }
            },
            tooltip: {
                enabled: false
            },
            legend: {
                enabled: false
            },
            plotOptions: {
                area: {
                    allowPointSelect: false,
                    fillColor: {
                        linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1},
                        stops: [
                            [0, Highcharts.getOptions().colors[0]],
                            [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]
                        ]
                    },
                    lineWidth: 1,
                    marker: {
                        enabled: false
                    },
                    shadow: false,
                    states: {
                        hover: {
                            lineWidth: 1,
                            enabled: false
                        }
                    }
                }
            },
            series: [{
                type: 'area',
                data: [<?php echo join($data, ',') ?>]
                //This is displayed correctly in Javascript, so the issue isn't in my PHP
            }]
        });
    });

我在这里做傻事吗?似乎无法找到图表变为空白的原因。:/

4

1 回答 1

5

在浏览了 Highcharts API 文档后,我找出了问题所在。

我知道所有图表类型的一个属性称为“cropThreshold”,这里是 Highcharts API 的链接,详细解释了这是什么:http://api.highcharts.com/highcharts#plotOptions.area 。作物阈值

但总而言之;如果您显示超过 300 个点(cropThreshold 默认为 300),那么在放大时,您的图表将变为空白。要更正此问题,您可以将以下内容添加到图表配置中:

area: {
           cropThreshold: 500 <- //Vary this. I display 500 points on my chart in
                                 //total and so a value of 500 allows zooming to
                                 //work at all levels. This will vary for you
                                 //depending on how many points you plot.
      }
于 2013-07-29T12:38:07.390 回答