django-nvd3

时间:2015-07-26 20:52:31

标签: python django d3.js plot nvd3.js

我已经尝试了几个小时来找到关于此的任何文档,但它似乎不存在。经过几天的努力获得在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等等的刻度,直到达到一个非常高的值,即使我的情节不会达到那么高,它会起作用吗?我该怎么做?

这就是现在情节的样子:

View of plot

1 个答案:

答案 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);});

Here is the JSFiddle