我已经尝试了几个小时来找到关于此的任何文档,但它似乎不存在。经过几天的努力获得在Django中创建和显示绘图的任何方法后,我终于设法为django工作获得了nvd3。但现在我的情节y轴上的符号存在问题。因为我的值很小(最多1.0e-4),我想用指数的科学记数法。
在d3中执行我想要的操作的命令似乎是chart.y1Axis.d3.format(".2f")
,但我不知道如何在nvd3中应用它。有谁知道如何处理呢?
另外,在x轴上我遇到的问题是值很大。因为该图是log-log,所以例程将标签放在10,20,30,40,... 100,200,300,400 ......等等,但我希望它只绘制每个数量级的数据(10 ,100,1000,10000等)。什么是自动化的最简单方法?如果我告诉例程总是打印10,100,1000,10000等等的刻度,直到达到一个非常高的值,即使我的情节不会达到那么高,它会起作用吗?我该怎么做?
这就是现在情节的样子:
答案 0 :(得分:1)
将此用于y轴上的科学记数法
chart.yAxis.tickFormat(d3.format('.02e'));
对于x轴问题试试这个
这将返回x值的日志。
chart.x(function(d){return Math.log10(d.x)})
;这将再次将其转换为正常数字, 你的规模将是对数
chart.xAxis.tickFormat(function(d){ return (Math.pow(10,d)).toFixed(2);});