私のd3折れ線グラフでは、プロットされたデータの目盛だけが必要です。これはタイムスタンプの問題であることがわかります。D3 Chart - 時間にtickValuesを使用する "translate(NaN、0)"
d3.js:7651 Error: <g> attribute transform: Expected number, "translate(NaN,0)".
文字列をtickValues
配列の数字に変換すると思っていましたが、コロンがあるので、できません。何か案は?
// Hard coded data
scope.data = [
{date: '12:00', glucoseLevel: 400},
{date: '15:00', glucoseLevel: 200},
{date: '18:00', glucoseLevel: 300},
{date: '23:00', glucoseLevel: 400}
];
var parseDate = d3.timeParse('%I:%M');
scope.data.forEach(function(d) {
d.date = parseDate(d.date);
d.glucoseLevel = +d.glucoseLevel;
});
var x = d3.scaleTime()
.range([0, width]);
var xAxis = d3.axisBottom(x)
.tickValues(['12:00', '15:00', '18:00', '23:00']);
// Add the X Axis
svg.append('g')
.attr('class', 'x axis')
.attr('transform', 'translate(0,' + height + ')')
.call(xAxis);
ありがとうございました!しかし、私はまだ 'Error: attribute transform:期待される数字、translate(NaN、0)"を取得しています。 "http://dpaste.com/3NPEZ66 –
dman
@dman:そのリンクの変更されたコードでは、 X軸を生成するコードを、X軸の時刻を文字列として日付に変換するコードの上に移動しました。私の答えの最初の行に書いたように、X値を時間として指定しているので、X軸のティック値も時間として指定する必要があります。 –