我有兩個資料集 d1 和 d2 如下:
const d1 = [
{group: "H", value: 6},
{group: "I", value: 2},
{group: "M", value: 3}
];
const d2 = [
{group: "H", value: 1},
{group: "I", value: 12},
{group: "M", value: 2}
];
和一個名為 makethisgraph 的函式,其中發送的“資料”是 d1 和 d2,基于我單擊的按鈕。在此函式中,根據我選擇的資料,條形會更改以匹配值。我想以這樣的方式制作它,如果我選擇 d1 然后條形的顏色變為紅色,如果 d2 然后變為綠色
function makethisgraph(data) {
var u = svg.selectAll("rect")
.data(data)
u .enter()
.append("rect")
.merge(u)
.transition()
.duration(1000)
.attr("x", function(d) { return x(d.group); })
.attr("y", function(d) { return y(d.value); })
.attr("width", x.bandwidth())
.attr("height", function(d) { return height - y(d.value); })
.attr("fill", function(d, i) {
// if ( data = d1)
// {
// return "red"
// }
// else
// {
// return "green"
// }
return "blue"
});
我試著寫如果我得到的資料是 d1 那么它會是紅色的,但它不起作用。有沒有其他方法可以解決這個問題?
uj5u.com熱心網友回復:
將color引數添加到makethisgraph:
function makethisgraph(data, color) {
...
u.enter()
...
.attr("fill", color);
}
...
makethisgraph(d1, 'red');
makethisgraph(d2, 'green');
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/430005.html
標籤:javascript d3.js
上一篇:基于索引的計算(例如50*index來改變容器的寬度)和索引標題的動態導航
下一篇:D3條形圖縮放未居中
