03-D3.js SVG text标签

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

【效果图】

css 复制代码
text {
    fill: var(--secondary-orange);
    text-anchor: middle;
    font-size: 14px;
}
javascript 复制代码
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 })
相关推荐
excel4 小时前
ES6 中函数的双重调用方式:fn() 与 fn\...``
前端
可乐爱宅着4 小时前
全栈框架next.js入手指南
前端·next.js
你的人类朋友5 小时前
什么是API签名?
前端·后端·安全
会豪7 小时前
Electron-Vite (一)快速构建桌面应用
前端
中微子7 小时前
React 执行阶段与渲染机制详解(基于 React 18+ 官方文档)
前端
唐某人丶7 小时前
教你如何用 JS 实现 Agent 系统(2)—— 开发 ReAct 版本的“深度搜索”
前端·人工智能·aigc
中微子7 小时前
深入剖析 useState产生的 setState的完整执行流程
前端
遂心_8 小时前
JavaScript 函数参数传递机制:一道经典面试题解析
前端·javascript
小徐_23338 小时前
uni-app vue3 也能使用 Echarts?Wot Starter 是这样做的!
前端·uni-app·echarts
RoyLin8 小时前
TypeScript设计模式:适配器模式
前端·后端·node.js