[英]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.