2

Highstockチャートにデータをロードする3つの方法すべてを試して、3日間頭を悩ませてきました。PHPを使わずにデータをインポートする方法はありますか? PHP がインストールされていない IIS サーバーを使用しています。

http://www.highcharts.com/samples/data/jsonp.phpを指す $j.getJSON() メソッドを使用すると、正常 に動作します。ただし、独自のデータを追加しようとすると (CSV と XML を試しました)、firebug コンソールを介してすべてが問題なく実行されていることがわかりますが、奇妙な結果が得られます。

http://i.imgur.com/qj5y8bM.png

Stockchart チャートのサンプル (3 プロット ポイント) を入手できますか? 私が見つけることができるすべてのサンプルは、Highchart Barchart 用です。これは、私が StockChart で行っていることとはまったく異なります。これを元にするには、サンプルの CSV とサンプルの JSON が必要です。誰か助けてください。

4

2 に答える 2

3

ドキュメントを見てください、それを行う方法についてのいくつかのデモと説明があります。

まず、csvを作成します。

Categories,Apples,Pears,Oranges,Bananas
John,8,4,6,5
Jane,3,4,2,3
Joe,86,76,79,77
Janet,3,16,13,15

次に、基本的なチャートオプションを定義します。

var options = {
    chart: {
        renderTo: 'container',
        defaultSeriesType: 'column'
    },
    title: {
        text: 'Fruit Consumption'
    },
    xAxis: {
        categories: []
    },
    yAxis: {
        title: {
            text: 'Units'
        }
    },
    series: []
};

第三に、データを処理します。

$.get('data.csv', function(data) {
    // Split the lines
    var lines = data.split('\n');

    // Iterate over the lines and add categories or series
    $.each(lines, function(lineNo, line) {
        var items = line.split(',');

        // header line containes categories
        if (lineNo == 0) {
            $.each(items, function(itemNo, item) {
                if (itemNo > 0) options.xAxis.categories.push(item);
            });
        }

        // the rest of the lines contain data with their name in the first position
        else {
            var series = {
                data: []
            };
            $.each(items, function(itemNo, item) {
                if (itemNo == 0) {
                    series.name = item;
                } else {
                    series.data.push(parseFloat(item));
                }
            });

            options.series.push(series);

        }

    });

    // Create the chart
    var chart = new Highcharts.Chart(options);
});

そして、これが結果です。

于 2013-02-15T23:36:52.150 に答える
0

配列または名前付き値オブジェクトを使用して、データをHighcharts/Highstockオブジェクトにロードできるはずです。highcharts.comのPHPサンプルURLは、Highcharts / Highstockが理解できるJSONデータを返しますが、JSONデータを返す任意のデータソースを使用できます。

例として、系列データに単純な配列を使用するコードを次に示します。

$(function() {
    window.chart = new Highcharts.StockChart({
        chart : {
            renderTo : 'container'
        },
        title : {
            text : 'My chart'
        },
        series : [{
            name : 'My Series',
            data : [
                [Date.UTC(2006, 0, 29, 0, 0, 0), 30.14],
                [Date.UTC(2006, 0, 29, 1, 0, 0), 34.76],
                [Date.UTC(2006, 0, 29, 2, 0, 0), 34.34],
                [Date.UTC(2006, 0, 29, 3, 0, 0), 33.9]
            ]
        }]
    });
});

ライブサンプルは次のとおりです:http://jsfiddle.net/fF9Ru/1/

既存のデータソースがある場合は、返されるデータのサンプルを投稿してください。データが適切にフォーマットされていない場合、グラフがレンダリングされない可能性があります。

于 2013-02-15T22:27:32.080 に答える