Data Visualization + D3.js • SuperHiLearn how to create interactive, engaging experiences using HTML, CSS, SVG and Javascript.https://www.superhi.com/catalog/data-visualization-with-d3
text - SVG:可缩放矢量图形 | MDNtext元素定义了一个由文字组成的图形。注意:我们可以将渐变、图案、剪切路径、遮罩或者滤镜应用到 text 上。https://developer.mozilla.org/zh-CN/docs/Web/SVG/Reference/Element/text
text-anchor - SVG:可缩放矢量图形 | MDN文本锚点属性被用来描述该文本与所给点的对齐方式(开头、中间、末尾对齐)。https://developer.mozilla.org/zh-CN/docs/Web/SVG/Reference/Attribute/text-anchor
【效果图】
text {fill: var(--secondary-orange);text-anchor: middle;font-size: 14px;
}
const todaySvg = d3.select('svg')// https://d3js.org/d3-scale/linear
const barScale = d3.scaleLinear().domain([0, 2000]).range([1, 112])todaySvg.selectAll('rect').data(todayData).enter().append('rect').attr('x', (d, i) => { return i * 36 }).attr('y', (d, i) => { return 112 - barScale(d) }).attr('width', 24).attr('height', (d, i) => { return barScale(d) })todaySvg.selectAll('text').data(todayData).enter().append('text').attr('x', (d, i) => { return i * 36 + 12 }).attr('y', 130).text((d, i) => { return i })