,可以通过以下步骤实现:
以下是一个示例代码:
// 创建SVG容器
var svg = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height);
// 获取数据
var data = [10, 20, 30, 40, 50];
// 创建x轴比例尺
var xScale = d3.scaleBand()
.domain(data.map(function(d, i) { return i; }))
.range([0, width])
.padding(0.1);
// 创建y轴比例尺
var yScale = d3.scaleLinear()
.domain([0, d3.max(data)])
.range([height, 0]);
// 创建x轴
var xAxis = d3.axisBottom(xScale);
// 创建y轴
var yAxis = d3.axisLeft(yScale);
// 添加x轴
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
// 添加y轴
svg.append("g")
.attr("class", "y axis")
.call(yAxis);
// 创建矩形元素
svg.selectAll(".bar")
.data(data)
.enter().append("rect")
.attr("class", "bar")
.attr("x", function(d, i) { return xScale(i); })
.attr("y", function(d) { return yScale(d); })
.attr("width", xScale.bandwidth())
.attr("height", function(d) { return height - yScale(d); })
.attr("fill", "steelblue");
这是一个简单的d3条形图示例,其中跳过了x轴上的空标签。你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云