javascript - D3-如何显示 xAxis 的刻度
问题描述
如果将 xAxis 的刻度放置在 svg-canvas 的最底部,我将找不到显示这些刻度的方法。
我要显示的变量是不同年份的季度,所以我将字符串数组 ["1947-01-01","1947-04-01",...] 转换为 js 日期对象数组 [Mon Apr 1957 年 1 月 1 日 00:00:00 GMT+0000 (GMT+01:00),1957 年 7 月 1 日星期一 01:00:00 GMT+0100 (GMT+01:00),...]
我建立了 xAxis
const xScale=d3.scalePoint()
.domain(dates) // dates is a array of date objects
.range([0,w])
const xAxis=d3.axisBottom(xScale);
最后我设置了一个组
svg.append("g")
.attr("class","axis")
.attr(`transform`,`translate(0,${h})`) // h is the height of the canvas
.call(xAxis)
.ticks(4) // It does not work in this code
我尝试应用命令刻度,但它在此代码中不起作用。另一方面,当 xAxis 位于画布的底线时,我不知道如何在 xAxis 下方显示刻度。
解决方案
我认为问题可能出在您的秤和 .ticks() 方法的链接上。根据d3.axis 文档,.ticks()
应该在您的轴上调用。尝试对您的xAxis
.
const xAxis = d3.axisBottom(xScale).ticks(4);
.ticks()
并在渲染 x 轴时移除,
svg.append('g')
.attr('class','axis')
.attr('transform',`translate(0,${h})`)
.call(xAxis);
推荐阅读
- histogram - 具有变换聚合的 altair 直方图无法正确覆盖全局平均值
- c# - 如何限制标签中递增值的数量?
- python - 如何用空格匹配、计数和替换字符串,但它们不是另一个字母字符串的子字符串?
- python - 更快的方法来检查图像是否可以打开?
- odac - ODAC 19c 64bit 与 Visual Studio 2019 Enterprise 的连接
- sql - Datediff 和 YYYYMM 转换
- python - 如何替换 JSON 文件中的值?
- c - Valgrind 显示 7 个 allocs 和 7 个 frees,但仍然显示内存泄漏?
- http - 我应该如何在 cpp 中使用 WinHttpSendRequest 格式化标题和正文?
- git - 如何找到谁使用特定的 SHA 提交,谁没有 7 位数字?