2016-02-19 61 views
1

所以我终于能够设置yAxis tickValues,但现在当我使用yRange()来反转它时,滴答消失了,是否有更好的方法来做到这一点?或者是我忘了添加另一个设置?使用NVD3.js反转yAxis

我还设置了xAxis tickValues,我需要它们按照有序的比例均匀分布。但我读过你不应该使用nvd3图表来改变比例类型。

下面是相关代码:

var xLabels = ["", 250, 500, 750, 1000, 1500, 2000, 3000, 4000, 6000, 8000, 10000]; 
var yLabels = [-10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120]; 
var chart = nv.models.lineChart() 
    .x(function (d) { 
     return d.Hz; 
    }) 
    .y(function (d) { 
     return d.dB; 
    }) 
    .showLegend(false) 
    .showYAxis(true) 
    .showXAxis(true); 
chart.forceY(yLabels); 
chart.forceX(xLabels); 
chart.yRange([0, 450]); //This inverts the yAxis 

chart.xAxis 
    .axisLabel('Frequency (Hz)') 
    .tickValues(xLabels) 
    .orient('top'); //reposition xaxis labels on top 

chart.yAxis 
    .axisLabel('dB') 
    .tickValues(yLabels); 

回答

0

如果上面的代码是一个addGraph()功能的一部分,也许尝试返回chart对象之前加入nv.utils.windowResize(chart.update);

+0

是的,我已经在那里。 –

+0

你有可能将这个函数,一个svg元素和一个样本数据集放到一个JSFiddle中,这样我们就可以看到发生了什么? –

+0

我似乎无法得到它的工作,但这里的基本设置:https://jsfiddle.net/xecba6mn/ –