3

bubbleChart2 つの順序軸を持つ dc.js を使用して作成したいと思います。試してみると、すべてのバブルが Y 軸の上部にあり、Y 軸が序数ではないようです。

それを適切に行う方法はありますか?

の構成は次のbubbleChartとおりです。

.dimension(dims.currencyinstrument)
.group(groups.currencyinstrument.pnlSum)
.keyAccessor(function(d) {
        return d.key.split("~")[0]
    })
.valueAccessor(function(d) {
        return d.key.split("~")[1]
    })
.radiusValueAccessor(function(d) {
        return Math.abs(d.value)
    })
.x(d3.scale.ordinal().domain(groups.currencyinstrument.pnlSum.all().map(function(d) {return(d.key.split("~")[0])}).unshift("")))
.y(d3.scale.ordinal().domain(groups.currencyinstrument.pnlSum.all().map(function(d) {return(d.key.split("~")[1])}).unshift("")))
.r(d3.scale.linear().domain([0,groups.currencyinstrument.pnlSum.all().map(function(d) {return(Math.abs(d.value))}).sort(function(a,b){return(b-a)})[0]]))

編集:ここにフィドルがあります。GitHub からデータを読み込むにはしばらく (~1 分) かかりますが、それだけの価値はあります。

4

1 に答える 1

2

簡単に言えば、現在、 coordinateGridMixin は序数の Y スケールをサポートしていません。

ElasticY を削除し、_prepareYAxis をオーバーライドして、指定された間違った範囲を変更することで、少なくともこのフィドルに表示することができました。

dc.override(pnlPerCurrencyInstrumentTypebubbleChart, "_prepareYAxis", function(g) {
    this.__prepareYAxis(g);
    this.y().rangeBands([this.yAxisHeight(), 0])
});

http://jsfiddle.net/gordonwoodhull/xZFx4/10/

これで始められることを願っています。問題を追跡するためにこのバグを提出しました:

https://github.com/dc-js/dc.js/issues/539

編集:もっと詳しく見てみると、ここではrangeBandsではなくrangePointsの方が適切だと思います...バーと散布図が異なる動作を指定できるように、coordinateGridMixinにはカスタマイズポイントが必要だと思います。

于 2014-03-13T05:28:21.723 に答える