2017-05-03 4 views
0

角度jsとmoment.jsを使用しています。今私は折れ線グラフのレベルを生成しています。だから私はx軸の値のいくつかのレベルを設定する必要があります。 x'axisで時間間隔を設定したい。今、私はこれらの(x'aix)値を静的に使用していますが、今はjavascript関数で動的に設定したいと思います。時間間隔でレベルを配列形式で設定したい

var lineData = { labels: ["0hr", "1hr", "2hr", "3hr", "4hr", "5hr", "6hr"], 
       datasets: [     
        { 
         label: "My Second dataset", 
         fillColor: "rgba(151,187,205,0.2)",      
         pointHighlightFill: "#fff", 
         pointHighlightStroke: "rgba(151,187,205,1)", 
         data: [28, 48, 40, 19, 86, 27, 80] 
        } 
       ] 
      }; 
var startFromTime=11; 
var endToTime=15; 

ラベルに11〜15の時間間隔を設定したいとします。

ラベル:[ "0hr"、 "1時間"、 "2時間"、 "3時間"、 "4時間"、 "5hr"、 "6HR"]

enter image description here

私ができますsetはこれらの値を配列形式で変数に代入します。この変数はラベルに代入されます:[1,2,3,4]

答えて

0

これはむしろ単純な古いJavaScript関数の場合はJSです。ここで

function getTimeLabels(start) { 
var timeStart = start; 
var limit = 7; 

var resultArr = []; 
var counter = 0; 

for (var x = 0; x < (timeStart + limit); x++) { 

    if (x > 24) { 
     resultArr.push(counter + "hr"); 
    } 
    resultArr.push(x + "hr"); 
} 

return resultArr; 
} 

あなたは、xが24の上に行き、後に発生した操作を完了するために別のカウンタを使用する場合、あなたはで起動すると、それはあなたのラベルを生成します希望数が、それも考慮に入れて渡します。

あなたのコード変更:

var lineData = { labels: getTimeLabels(0), 
       datasets: [     
        { 
         label: "My Second dataset", 
         fillColor: "rgba(151,187,205,0.2)",      
         pointHighlightFill: "#fff", 
         pointHighlightStroke: "rgba(151,187,205,1)", 
         data: [28, 48, 40, 19, 86, 27, 80] 
        } 
       ] 
      }; 
var startFromTime=11; 
var endToTime=15; 
+0

リミット= 7とは何ですか? –

+0

ありがとうございます。しかし、私はx軸の値をプロットしたい。開始時間5と終了時間13hrsを選択した場合は、5,6,7,8,9,10,11,12,13をプロットする必要があります。 –

+0

制限は移動する場所の量ですが、別のパラメータをlimitとして追加し、より多くの場所を移動することができます。 –

関連する問題