【问题标题】:bubbleChart with two ordinal scales in dc.js在 dc.js 中具有两个序数刻度的气泡图
【发布时间】:2014-03-21 08:33:32
【问题描述】:

我想使用带有两个序数轴的 dc.js 创建一个 bubbleChart。当我尝试它时,我所有的气泡最终都在 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]]))

编辑:这是fiddle。从 GitHub 加载数据需要一段时间(约 1 分钟),但这一切都是值得的!

【问题讨论】:

  • 请把你的图表的 jsfiddle 贴出来好吗?
  • @patrickberkeley 发布在主要问题中。可以找到here。谢谢

标签: d3.js crossfilter dc.js bubble-chart


【解决方案1】:

简而言之,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

编辑:仔细观察,我猜 rangePoints 而不是 rangeBands 在这里会更合适......猜想 coordinateGridMixin 需要有一个自定义点,以便条形图和散点图可以指定不同的行为。

【讨论】:

  • 感谢您的检查。我尝试在我的应用程序中复制您的“工作”小提琴,看看我是否可以使用它并可能为 git 做出贡献,但它不喜欢 this.__prepareYAxis(g); 中的双下划线。我在这里遗漏了什么明显的东西?
  • 你的意思是找不到会员?或者有什么错误?如果您愿意破解 dc 代码,目标是使坐标网格的 prepareYAxis 看起来更像 prepareXAxis。不过,这可能有点工作。
  • 是的,它找不到_ _prepareYAxis 函数。这是预期的吗?目前,我只是试图稍微修改您的代码以仅在本地覆盖该图,但如果效果良好,我可能会考虑集成它。
  • 好吧,这是因为我没有注释掉.elasticY(true)。不过仍然不确定发生了什么。
猜你喜欢
  • 2014-06-21
  • 1970-01-01
  • 2014-11-10
  • 1970-01-01
  • 2018-11-02
  • 1970-01-01
  • 2020-10-12
  • 2022-01-11
  • 2017-05-03
相关资源
最近更新 更多