dc.jsの行チャートを作成するときにデータが失われます。私は dc.jsを使用して行チャートをレンダリングするとデータが失われる
が、私は私の結果は
であることを期待している:
var ndx = crossfilter(data);
var emailDimemsion = ndx.dimension(function(d) {
return d.email;
});
var emailGroup = emailDimemsion.group().reduce(
function(p, d) {
++p.count;
p.totalWordCount += +d.word_count;
p.studentName = d.student_name;
return p;
},
function(p, d) {
--p.count;
p.totalWordCount -= +d.word_count;
p.studentName = d.student_name;
return p;
},
function() {
return {
count: 0,
totalWordCount: 0,
studentName: ""
};
});
leaderRowChart
.width(600)
.height(300)
.margins({
top: 0,
right: 10,
bottom: 20,
left: 5
})
.dimension(emailDimemsion)
.group(emailGroup)
.elasticX(true)
.valueAccessor(function(d) {
return +d.value.totalWordCount;
})
.rowsCap(15)
.othersGrouper(false)
.label(function(d) {
return (d.value.studentName + ": " + d.value.totalWordCount);
})
.ordering(function(d) {
return -d.value.totalWordCount
})
.xAxis()
.ticks(5);
dc.renderAll();
フィドルはここにある、https://jsfiddle.net/santoshsewlal/6vt8t8rn/
私のグラフは次のように出てきます何らかの形でデータを省略するためにreduce関数を使いこなしましたか?
おかげ
この現象の回避策はありますか?問題は、カテゴリに基づいてデータのサブセットを表示するために偽のグループを使用する必要があることです。通常のグループと偽のグループ、https://jsfiddle.net/santoshsewlal/tmqwvxee/を使用すると、私のフィドルは違いを示します。一貫した問題ではありません。ドロップダウンから2月を選択するのは問題ありませんが、12月は選択しません。 私はカテゴリごとのチャート(フィドルのdtype)にしたいと思います。私のグラフをレンダリングするより良い方法はありますか? –
@SantoshSewlal、私は上記の修正を明確にしました。最新バージョンに関する注記も参照してください。 – Gordon