2014-03-27 33 views
0

我想使用nvd3s圖表,特別是line chart example作出可切換軸。運行此示例後,打開控制檯,然後鍵入chart.setXAxis(false) x軸不會隱藏。是否有一些文件或某些原因爲什麼這不起作用?它似乎不適用於任何布爾值。一旦這是真的,它不會改變爲false。nvd3 - 不能顯示xAxis(false)如果xAxis可見

+0

設置後需要重繪圖表。 –

+0

@LarsKotthoff有沒有'chart.redraw()'或一些等價的? – Seiyria

+1

'chart.update()'我想。 –

回答

2

setXAxis只是告訴圖表函數繪製圖表時是否繪製軸線,它對現有座標軸沒有任何作用。您最好直接選擇軸並更改其可見性風格。

鑑於NVD3使用爲它的軸,隱藏x軸的類名稱可以使用:

d3.select("g.nv-axis.nv-x").style("visibility", "hidden") 

隱藏軸,但不刪除它,這樣你就可以很容易地重新用相同的選擇語句再次顯示(不更新圖表),但可見性風格visible

+0

我明白了。這只是回到我原來的問題「爲什麼我可以用'.setAxisVisible(true)'顯示一個軸,但是不能用'.setAxisVisible(false)'?隱藏一個軸」我還沒有用'useInteractiveGuideline'等其他布爾值來試用它,但是我必須爲那些做類似的解決方法嗎?作爲參考,我正在做一個圖表編輯器,所以什麼都可以。 – Seiyria

+0

當您更新圖表時,圖表功能(包括軸功能)選擇相關元素並在存在時更新它們,或者如果它們不存在則創建它們。如果您在初始化圖表後關閉軸功能,則軸不會更新,但它不會被刪除。你可以在NVD3 github中創建一個問題報告,建議他們添加該行爲,如果你願意的話 - 它實際上只是幾行代碼。 – AmeliaBR

+0

@AmeilaBR我肯定已經問過他們了,但他們的github並不如我所希望的那麼活躍。它會在他們的最後幾行代碼?我不介意分叉和提交pull請求(所以我仍然可以在此期間使用代碼)。 – Seiyria