4

わかりました。データベースからのデータを正しく表示するハイチャート チャートがあります。ズームインした瞬間、チャートが空白になりますか?

チャートの 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 に答える