在 DC.js 图表中缩放 y-tick 标签(下方 D3.js)

Scale y-tick labels in DC.js chart (D3.js underneath)

我正在尝试找到一种动态缩放图表 y-axis 的方法,以便值以个位数显示,顶部带有指数符号,有效地改变了这一点:

为此:

请注意,这在例如Matlab/Matplotlib/etc., 但我正在努力寻找网络绘图框架的解决方案(也许我的搜索语言是错误的)...我知道 D3.js 不是图表库,但我会开放适用于前端 DC.js 或后端 D3.js

的解决方案

根据下面@Gordon 的回答进行编辑,我使用这个得到了下图

chart.yAxis().tickFormat(d3.format('.1e'));

是否有可能将所有 e+6 移动到顶部?还是需要自己写一个自定义缩放函数,自己插入一个单独的文本框?

在dc.js中,坐标轴是从d3-axis.

直的

使用 chart.xAxis()chart.yAxis() 访问它们,为了减少混淆,do this in a separate statement 从图表初始化的其余部分开始。

您可以使用 axis.tickFormat 来控制刻度文本的格式。

您可以使用d3.format进行自动格式化。指数或 SI 符号似乎适合您正在做的事情,尽管它与在您的屏幕截图中将指数放在单独的文本元素中并不完全相同。

放在一起,这很接近

chart.yAxis().tickFormat(d3.format('.1e'))

勾号格式问题经常出现。我想知道我们可以把这些信息放在哪里,这样人们就不用问了。