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 })
相关推荐
颜酱1 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
失忆爆表症2 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
小迷糊的学习记录2 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜2 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛2 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
利刃大大2 小时前
【Vue】Element-Plus快速入门 && Form && Card && Table && Tree && Dialog && Menu
前端·javascript·vue.js·element-plus
NEXT062 小时前
AI 应用工程化实战:使用 LangChain.js 编排 DeepSeek 复杂工作流
前端·javascript·langchain
念风零壹2 小时前
AI 时代的前端技术:从系统编程到 JavaScript/TypeScript
前端·ai
光影少年3 小时前
react的hooks防抖和节流是怎样做的
前端·javascript·react.js
小毛驴8503 小时前
Vue 路由示例
前端·javascript·vue.js