我正在使用d3圖來繪製一些圖表。如何使用d3點擊x-y軸
我在尋找的東西由我可以翻轉按鈕上的點擊我的軸線。說了這麼多我的意思是,我要尋找其無縫地適用於所有類型的像條,折線圖的功能,堆棧等
有沒有人做過這樣的一些真棒工作?請幫助
Here is the sample
http://jsfiddle.net/adityasethi2601/ae5BP/
我正在使用d3圖來繪製一些圖表。如何使用d3點擊x-y軸
我在尋找的東西由我可以翻轉按鈕上的點擊我的軸線。說了這麼多我的意思是,我要尋找其無縫地適用於所有類型的像條,折線圖的功能,堆棧等
有沒有人做過這樣的一些真棒工作?請幫助
Here is the sample
http://jsfiddle.net/adityasethi2601/ae5BP/
你也可以繪製圖表(垂直&單槓版本)的兩個版本,並實現由具有兩者之間的「翻轉軸」按鈕切換知名度類似的效果。
這不是一個壞主意嗎?我正在考慮創建一個函數,它可以只是翻轉座標軸,說我的意思是有一個獨特的功能,可以爲任何圖表設置條形或線條或堆棧。 –
如果您仔細安排圖表,您應該可以通過SVG Transforms來實現翻轉圖像,如果需要將其翻譯爲新邊距,然後反轉任何仍然想保持水平的文本。
作爲一個快速又髒兮兮的例子,我已經調整了你的小提琴,這樣當按鈕被點擊時,一個類將在整個SVG上切換,從而在整個圖像上觸發一個CSS rotate transform。
的Javascript:
d3.select("div#chart > svg") ///select the svg
.classed("rotate", function(){
return !d3.select(this).classed("rotate");
//check whether it is currently rotated
//and set it to the opposite
});
CSS:
svg.rotate{
/* rotate the entire image */
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
}
但是請注意,CSS變換(嵌入網頁時,其適用於HTML對象,如整個SVG )並不直接等同於SVG轉換,所以我無法對文本元素進行「反向旋轉」。要使用SVG轉換,您需要將整個圖表包裝在可應用旋轉的<g>
元素中。您還需要找出適當的「旋轉中心」座標,否則將圍繞您的(0,0)原點旋轉。
但是,這應該給你從哪裏開始的想法。
P.S.我還調整了小提琴,以便正確使用JSFiddle格式和用於加載D3的外部資源選項 - 將來使用此格式。
如何做到這一點取決於你使用的規模。原則上,您需要反轉輸入或輸出域。 –
如果你能給我一個例子,我會很高興。我基本上希望x軸變成y和y變成x。通過這樣做,我們將能夠看到垂直條而不是水平條。 –
哦,那種翻轉。爲此,您必須重新繪製整個圖表 - 首先用新範圍設置刻度,然後在適當的位置繪製條形,線條和軸。我不知道有任何例子。 –