2016-08-22 14 views
0

私はcanvasjsをチャート形式でデータを表示するために使用しています。すべてのデータが少ない場合は、日付の横に正常に動作しています。キャンバスのjs日付がx軸で繰り返されています

は、ここに私のJS

var chartResponses = new CanvasJS.Chart("chartResponses", { 
     animationEnabled: true, 
     toolTip: { 
      enabled: true, 
      animationEnabled: true, 
      fontColor: "#F9BF97", 
     }, 
     axisX: { 
      titleFontFamily: "verdana", 
      valueFormatString: "D/M/YYYY", 
      tickThickness: 0, 
      lineThickness: 1, 
      gridThickness: 0, 
      gridColor: "#f2f6f7", 
      lineColor: "#f2f6f7", 
      labelFontColor: "#8fa2aa", 
      labelFontSize: 12, 
      intervalType: "day", 

     }, 
     axisY: { 
      titleFontFamily: "verdana", 
      valueFormatString: "0", 
      tickThickness: 0, 
      lineThickness: 0, 
      gridThickness: 1, 
      gridColor: "#f2f6f7", 
      lineColor: "#f2f6f7", 
      labelFontColor: "#8fa2aa", 
      labelFontSize: 12 
     }, 
     data: [{ 
       type: "splineArea", 
       showInLegend: true, 
       markerSize: 0, 
       name: "", 
       color: "#F9BF97", 
       dataPoints: allResponses 
      }], 
    }); 

    chartResponses.render(); 

であると私はinterval: 1に間隔を設定してみましたたった2つの日付

enter image description here

を持っている場合、それはチャートを示してどのようにこの。このケースでは、データチャートが少なくてもうまく動作しますが、データの日付が増えると、下の画像のように重複して開始されます。

enter image description here

しかし、私はinterval: 1を削除すると、それは罰金を示し

enter image description here

だから、この問題を解決するためにどのような方法があります。

+0

あなたはフィドルを追加することは可能ですか?データポイントはハードコードされています –

+0

'jsfiddle'はhttp://canvasjs.com/assets/script/canvasjs.min.jsをブロックしています。だから作ることができない。 http://jsfiddle.net/hb5KU/11/を試して、 'type:" splineArea "、'を変更して日付のレコードを追加して – urfusion

答えて

1

さらに多くのデータがある場合、またはintervalTypeプロパティを週または月単位で変更する場合は、intervalプロパティを5以上変更する必要があります。この更新されたバイブルに示されるように。 jsfiddle.net/hb5KU/66/

今後、応答データの長さに応じてグラフを描画する前に追加することができます。

+0

@urfusionをチェックしたい場合は、 動的に間隔を変更するには、-http ://jsfiddle.net/canvasjs/8e98Lej8/ ここでは、intrvalTypeの代わりに間隔を設定できます。 また、初期レンダリング(ズームなし)では、データからviewportMinimumとviewportMaximumを見つけてそれに応じて適用します。 – Sanjoy

関連する問題