5

デフォルトのハイストック チャートの高さは 400px です。

チャート軸とそのサイズに基づいて高さチャートを自動サイズに設定するにはどうすればよいですか?

以下の例を参照してください。ナビゲーション バーは音量パネルの上にあります。

http://jsfiddle.net/BYNsJ/

div の高さを設定できることはわかっていますが、グラフで軸/系列を動的に挿入/削除するソリューションがあり、自動高さグラフが適しています。

この例は、Highchart サイトのローソク足/ボリューム デモと同じですが、div コンテナーに高さプロパティがありません。

    // split the data set into ohlc and volume
    var ohlc = [],
        volume = [],
        dataLength = data.length;

    for (i = 0; i < dataLength; i++) {
        ohlc.push([
            data[i][0], // the date
            data[i][1], // open
            data[i][2], // high
            data[i][3], // low
            data[i][4] // close
        ]);

        volume.push([
            data[i][0], // the date
            data[i][5] // the volume
        ])
    }

    // set the allowed units for data grouping
    var groupingUnits = [[
        'week',                         // unit name
        [1]                             // allowed multiples
    ], [
        'month',
        [1, 2, 3, 4, 6]
    ]];

    // create the chart
    $('#container').highcharts('StockChart', {

        rangeSelector: {
            selected: 1
        },

        title: {
            text: 'AAPL Historical'
        },

        yAxis: [{
            title: {
                text: 'OHLC'
            },
            height: 200,
            lineWidth: 2
        }, {
            title: {
                text: 'Volume'
            },
            top: 300,
            height: 100,
            offset: 0,
            lineWidth: 2
        }],

        series: [{
            type: 'candlestick',
            name: 'AAPL',
            data: ohlc,
            dataGrouping: {
                units: groupingUnits
            }
        }, {
            type: 'column',
            name: 'Volume',
            data: volume,
            yAxis: 1,
            dataGrouping: {
                units: groupingUnits
            }
        }]
    });
    });
});

よろしく。

4

5 に答える 5

0

$(window).resizeHighcharts は動的な高さをサポートしていません。イベントによって実現できます。

$(window).resize(function() 
{    
    chart.setSize(
       $(document).width(), 
       $(document).height()/2,
       false
    );   
});

ここでデモフィドルを参照してください。

于 2013-04-04T17:54:55.983 に答える