【发布时间】:2014-10-30 11:36:05
【问题描述】:
我有 5 个使用 dc.js 绘制的条形图(在复合图表中)。我注意到在少数条形图中,对于一些与其他维度相比值变得非常小的维度(请注意这些是非零值),它们仍然下降到 X 轴好像它们的值为零。甚至这些条的工具提示也没有显示,因此用户可能会发现这些值存在并且实际上并不等于看起来的零。我该如何解决这个问题?有没有办法可以显示这些条,无论它们多么小!看起来是这样的:
【问题讨论】:
标签: dc.js
我有 5 个使用 dc.js 绘制的条形图(在复合图表中)。我注意到在少数条形图中,对于一些与其他维度相比值变得非常小的维度(请注意这些是非零值),它们仍然下降到 X 轴好像它们的值为零。甚至这些条的工具提示也没有显示,因此用户可能会发现这些值存在并且实际上并不等于看起来的零。我该如何解决这个问题?有没有办法可以显示这些条,无论它们多么小!看起来是这样的:
【问题讨论】:
标签: dc.js
所有形式的可视化都会出现这个问题,而不仅仅是 dc.js。普遍接受的解决方案(如比尔克利夫兰等人推荐的)是使用对数刻度,例如指定.y(d3.scale.log()):
https://github.com/mbostock/d3/wiki/Quantitative-Scales#log
但是,这通常不被使用,因为人们并不总是对对数刻度感到满意,尤其是那些数学技能较少的人。另外,由于 log 0 = ∞ 并且 dc.js 还没有完全调试日志比例,you may need to apply some workarounds。
在这种特殊情况下的另一个建议是为值添加标签,如下所示:
Show values on top of bars in a barChart
然后使单击标签的工作方式与单击栏相同。 (我没有检查这个解决方案是否这样做;如果没有,请在此处发表评论。作者@dimirc 已提出进行 PR。)
【讨论】:
Error: <rect> attribute height: Expected length, "Infinity".