1

Highcharts ライブラリを使用して単一折れ線グラフを表示する Web サイトを構築しています。私は AJAX を使用して、YQL を使用してヤフー ファイナンスから過去の財務データを取得しています。

ajax 呼び出しは正常に機能しており、たとえばコンソールで返されたデータを表示できます。

console.log( data.query.results.quote[0].Close ); 終値を返します457.84

このデータを使用して単一折れ線シリーズ チャートを作成するにはどうすればよいですか?

AJAX データを使用してグラフを作成する方法の簡単な説明がどこにも見つかりません。

ありがとう

編集: AJAX でデータを取得していますが、正しく動作しますが、チャートを JSON で動作させようとすると、問題が発生します。

これは私のコードが現在どのように見えるかです: http://jsfiddle.net/JbGvx/

これは、HighStocks Web サイトのデモ コードです: http://jsfiddle.net/xDhkz/

問題は、AJAX リクエストの日付形式にあると思います。日付は 2013-02-25 のように返されますが、グラフには JS タイムスタンプが必要です。AJAX から日付を抽出し、Date.UTC を使用して変換し、変換されたデータを使用してグラフを作成する方法はありますか?

4

2 に答える 2

1

株式データを検討している場合は、HighCharts の代わりに HighStocks の使用を検討してください。HighCharts よりもはるかに高速に多くのデータ ポイントを処理できます。

HighStocks には、AJAX データ (160 万ポイント) を非同期的に取り込む例があります: http://www.highcharts.com/stock/demo/lazy-loading

于 2013-04-01T19:24:43.090 に答える
0
var chartSeriesData = [];

var chartCategory = [];

$.each(response, function() {

  if(this.name!="TOTAL" && this.no!="0")
  {

    var series_name = this.name;
    var series_data = this.no;

    var series = [
      series_name,
      parseFloat(series_data)
    ];
    chartSeriesData.push(series);   

  }                   

});
//initialize options for highchart

var options = {
  chart: {
    plotBackgroundColor: null,
    plotBorderWidth: null,
    plotShadow: false
  },
  title: {
    text: 'SalesOrder '
  },
  tooltip: {
    pointFormat: '{series.name}: <b>{point.y}</b>'
  },
  plotOptions: {
    pie: {
      allowPointSelect: true,
      cursor: 'pointer',
      center:['60%','60%'],
      size:150
      ,
      dataLabels: {
        enabled: true,
        color: '#000000',
        distance: 40,
        connectorColor: '#000000',
        format: '<b>{point.name}</b>: {point.y} '
      }
    }
  },
  series: [{
    type: 'pie',
    name: 'Browser share',
    data:chartSeriesData //load array created from json
  }]
}


//options.series[0].setData(datavaluejson);
var chart= $('#container').highcharts(options);
于 2014-01-22T15:30:42.433 に答える