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 })
相关推荐
GISer_Jing7 分钟前
AI时代面试新常态——从“会用工具”到“深挖原理”的跨越
前端·人工智能·ai编程
IT_陈寒17 分钟前
React的useEffect把我坑惨了,这些闭包陷阱真要命
前端·人工智能·后端
前端之虎陈随易29 分钟前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·typescript·npm·node.js
ayqy贾杰36 分钟前
Cursor SDK发布!开发者可直接搬走其内核
前端·vue.js·面试
changshuaihua00138 分钟前
扣子开发指南
javascript·人工智能
椰猫子44 分钟前
SpringMVC(SpringMVC简介、请求与响应(请求映射路径、请求参数、日期类型参数传递、响应json数据))
java·前端·数据库
love530love1 小时前
如何在 Google Chrome 中强制开启 Gemini AI 侧边栏(完整图文教程)
前端·人工智能·chrome·windows
光影少年1 小时前
对typescript开发框架的理解?
前端·javascript·typescript
跨境数据猎手1 小时前
反向海淘代购系统:1688 / 淘宝自动代采 + API 同步(附可用源码)
前端
lUie INGA1 小时前
Go-Gin Web 框架完整教程
前端·golang·gin