2016-02-19 41 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/ –