2017-08-18 7 views
2

このChart.jsタイムスケールでは、なぜ "Mar 11"は0から始まらないのですか? 私はそれを最初からゼロで開始しようとしていますが、ランダムな時間から始めています。 洞察力があれば幸いです!0時にChart.jsタイムスケールを開始する

enter image description here

https://jsfiddle.net/askhflajsf/7yped1d5/(最新master branch buildを使用しています)

var barChartData = { 
 
    labels: ["2013-03-09", "2013-03-16", "2013-03-23", "2013-03-30", "2013-04-06"], 
 
    datasets: [{ 
 
    borderColor: "#3e95cd", 
 
    data: [10943, 29649, 6444, 2330, 36694], 
 
    fill: false, 
 
    borderWidth: 2 
 
    }, 
 
    { 
 
    borderColor: "#ff3300", 
 
    data: [9283, 1251, 6416, 2374, 9182], 
 
    fill: false, 
 
    borderWidth: 2 
 
    }] 
 
}; 
 

 
Chart.defaults.global.defaultFontFamily = "'Comic Sans MS'"; 
 
// Disable pointers 
 
Chart.defaults.global.elements.point.radius = 0; 
 
Chart.defaults.global.elements.point.hoverRadius = 0; 
 

 
var ctx = document.getElementById("bar-chart").getContext("2d"); 
 
new Chart(ctx, { 
 
    type: 'line', 
 
    data: barChartData, 
 
    options: { 
 
    responsive: true, 
 
    legend: { 
 
     display: true, 
 
     position: "right" 
 
    }, 
 
    title: { 
 
     display: false 
 
    }, 
 
    scales: { 
 
     xAxes: [{ 
 
     type: "time", 
 
     ticks: { 
 
      minRotation: 90 
 
     } 
 
     }] 
 
    } 
 
    } 
 
});
<script src="http://www.chartjs.org/dist/master/Chart.bundle.min.js"></script> 
 
<canvas id="bar-chart"></canvas>

+0

私はあなたが何を意味するか理解していません。最初のデータポイントは3月9日であり、すべてのデータの値は0より大きい。 – Automatico

+0

Y軸に0で最初の日付を表示する方法はない?最初のティックがそこから脱出を始めたら少し奇妙に見えます。 –

+0

これはあなたに受け入れられるかどうかわからない解決策を見つけましたか?チャートは[this](https://i.stack.imgur.com/6vl6S.png)のようになります –

答えて

1

これは、あなたがこれに簡単な回避策を行ういけない理由設計によるものであるようです。時間操作を実行するにはmoment.jsを使用し、タイプのようにx軸にデータをロードしますの代わりにこれは基本的に同じ出力を与えます。

JSFiddle:here

コード:

var timeOperations = ["2013-03-09", "2013-03-16", "2013-03-23", "2013-03-30", "2013-04-06"].map(function(value){ 
    return moment(value, "YYYY-MM-DD").format('MMM-DD').toString(); 
}); 
var barChartData = { 
    labels: timeOperations, 
    datasets: [{ 
    borderColor: "#3e95cd", 
    data: [10943, 29649, 6444, 2330, 36694], 
    fill: false, 
    borderWidth: 2 
    }, 
    { 
    borderColor: "#ff3300", 
    data: [9283, 1251, 6416, 2374, 9182], 
    fill: false, 
    borderWidth: 2 
    }] 
}; 
+0

こんにちは!残念ながら、それは大規模なデータセットではうまく動作しないようです:https://jsfiddle.net/bods8ngd/4/ –

+1

@MarkBoulderああ、それはあまりにも悪いです、私は日付で作業すると良いでしょう、チャートを変更する必要があります.jsライブラリとこれを修正するが、努力は負荷されます:( –

関連する問題