Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D3.js 自定义d3月或年刻度格式_D3.js - Fatal编程技术网

D3.js 自定义d3月或年刻度格式

D3.js 自定义d3月或年刻度格式,d3.js,D3.js,所以我用d3制作了一张图表,使用默认的x轴格式 d3.axisBottom(x) 将输出以下图形: 如何手动创建和自定义此格式?特别是,我想使用短月份名称,如“十月”,这样“十月”就不会模糊次年的标签。使用tickFormat格式化x轴上的刻度。在您的例子中,.tickFormat(d3.timeFormat(“%b”))将返回短月份名称(但它将使年份消失) 以下是演示: var svg=d3.选择(“主体”) .append(“svg”) .attr(“宽度”,500) .attr(“高

所以我用d3制作了一张图表,使用默认的x轴格式

d3.axisBottom(x)
将输出以下图形:


如何手动创建和自定义此格式?特别是,我想使用短月份名称,如“十月”,这样“十月”就不会模糊次年的标签。

使用
tickFormat
格式化x轴上的刻度。在您的例子中,
.tickFormat(d3.timeFormat(“%b”))
将返回短月份名称(但它将使年份消失)

以下是演示:

var svg=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,500)
.attr(“高度”,100)
var xScale=d3.scaleTime()
.域名([新日期(“2014-01-01”)、新日期(“2016-01-01”)])
.范围([0450]);
var xAxis=d3.axisBottom(xScale)
.tick格式(d3.timeFormat(“%b”);
svg.append(“g”)
.呼叫(xAxis)

是否有办法保留显示年份的轴刻度的原始功能?@ksav我自己找到了答案。编辑答案太难预测了。除其他外,这取决于领域。很难说,这就是为什么时间轴如此复杂而难以定制的原因。是的,我问的主要原因是,有时我不得不编写自定义函数,根据“d”来显示月份或年份条件下,有时默认情况下,它会单独执行…有时它会多次显示相同的勾号…我觉得它仍然是d3中我还不习惯的部分之一。谢谢你,Gerardo,这些年来你已经帮了我很多次了。对于一个扩展版本,也可以格式化周、日、小时,这个示例可能会有所帮助: