D3.js初學者在這里。我在 D3 中有一個水平堆積條形圖,每個條形中只有 1 個值(因此,每個條形分為兩個值)。
像這樣:
val1 --------@@@@@@@@
val2 ----@@@@@@@@@@@@
val3 -----------@@@@@
通常,D3 只支持每個欄的標題,如上所示。我正在尋找的是,而不是標題,在酒吧的兩端寫一個標簽。像這樣:
val1 --------@@@@@@@@ valA
val2 ----@@@@@@@@@@@@ valB
val3 -----------@@@@@ valC
這可以通過在每個條形的開頭直接寫入文本來實作,但如果一個條形位于 0%,則文本將與另一個 100% 條形重疊。另一種選擇是左/右對齊,但我也不知道該怎么做。
可能有不止一種方法可以做到這一點,希望有一些 D3 大師加入并給我一些指示。
也許有某種方法可以在典型圖表上自定義繪制標簽?然后我可以保留左邊的標簽,并在每個條的右側繪制我的自定義標簽。我不知道我會為此使用哪些功能。
這是一個示例圖,可用于演示標簽功能。與我的要求相比,該圖使用了“錯誤”的方向,但我可能能夠調整答案:
https://www.d3-graph-gallery.com/graph/barplot_stacked_percent.html
uj5u.com熱心網友回復:
以下是在鏈接圖表頂部添加一些標簽的方法:
svg.append('g') // add a new group
.selectAll('text') // new empty selection
.data(groups) // bind group names
.enter() // add elements for new data
.append('text') // text elements
.text(function(d) { return d}) // use the group names for the text
.attr("x", function(d) { return x(d) x.bandwidth()/2; }) // position the text in the middle of the appropriate bar
.attr('y', -1) // raise the text slightly
.style('font-size', 10)
.style('text-anchor','middle')
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/364530.html
標籤:javascript d3.js
上一篇:D3-帶對數刻度的面積圖
