簡體   English   中英

D3 - 初始化后第一次轉換的問題

[英]D3 - issues on first transition after initialization

我創建了這個jsbin http://jsbin.com/ibewux/3/edit來顯示轉換時的奇怪行為。

初始化圖表時,它會正確顯示數據(請參見下表)。

如果我嘗試通過下拉菜單更改圖表類型,則會交換某些系列; 在這種情況發生后,該系列不再被交換。

如果單擊updateChartData按鈕,也會發生同樣的事情; 第一次它將交換系列與表中顯示的數據進行比較。

因此,似乎只有初始化后的第一次轉換才會受到這種不必要的交換的影響。

這是一段簡短的代碼,並想知道你是否能發現這種情況發生的原因。

謝謝

isVerticalChart為true時,您使用帶有域svg.pointsNames的序數標度(它似乎是"Col " + i形式的字符串數組):

x = d3.scale.ordinal().domain(svg.pointsNames);

但是,您繼續使用此比例的基准索引,而不是這些字符串:

.attr("x", function(d, i) { return isVerticalChart ? x(i) : x(d.y0 - d.size); })

我認為你應該將一個字符串從域傳遞到這里的比例,以避免你看到的奇怪行為。

它只適用於此時,因為如果您將密鑰傳遞給之前未曾見過的序數標度,它會將其添加到域中。

可能還有其他問題,但希望能讓你更接近。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM