下面是散点图
应该有6年[2017、2018、2019、2020、2021、2022]。有两个问题:
1.岁月的串并不完整。
1.有5个刻度而不是6个。
下面是我代码的一部分:
const xAxisG = g.append('g')
.attr('transform', "translate(0," + innerH + ")");
const yAxisG = g.append('g');
const xValue = d => d.year;
const xScale = d3.scaleTime();
const xAxis = d3.axisBottom().scale(xScale);
xScale
.domain(d3.extent(data, xValue))
.range([0, innerW]);
const circles = g
.selectAll('circle')
.data(data)
.enter()
.append('circle')
.attr("transform", "translate(92,0)")
circles
.attr('cx', d=>xScale(xValue(d))) // Use the scales to conver the original values
.attr('cy', d=>yScale(yValue(d)))//? yScale(yValue(d))+40 :null)
.attr('r', 5)
.attr('fill', d => {if (d.classification_for_rate_setting == "B") return "steelblue"; return "orange"})
.attr("transform", "translate(40,0)")
.append('title')
.text((d) => `${d.primary_reason}\n${d.new_percent_change}\n${d.classification_for_rate_setting}\n${d.effective_date.toLocaleString('en-US', {month: 'short',year:'numeric'})}`);
xAxisG.call(xAxis)
.selectAll('text')
.attr("transform", "translate(40,10)")
yAxisG.call(yAxis)
1条答案
按热度按时间sq1bmfud1#
看起来您的数据存储方式不同,因此首先:
这是正确的刻度数。第一个刻度位于y轴正下方。不要调整刻度标签。
编辑:
删除圆平移以及