【发布时间】:2015-01-02 12:48:49
【问题描述】:
我有许多动态生成的图表。对于某些图表,日期彼此靠近,因此轴标签会重复
例子:
使用的日期格式:
d3.time.format("%d-%b-%y")
是否有避免标签重复的内置方法?还是有一个很好的通用程序可以避免这种重复? 请注意,我的图表也具有缩放功能,并且传入的数据是动态的,因此我不能输入“ticks”或“tickValues”的硬编码值。动态生成刻度或刻度值,可能是要走的路。
【问题讨论】:
-
我不确定是否允许我以这种方式显示日期。您认为在绘制图表和缩放图表后执行后处理步骤并删除所有重复的刻度是个好主意吗?
-
另一个选项是使用
.tickValues()手动设置刻度。那么就不需要后处理了。 -
是的,但是由于数据是动态的并且变化很大:从整个图表的 2 天间隔到几年的间隔,我需要一个通用算法。可以是自定义时间刻度,域为日期,范围为图表维度,并将图表维度划分为指定编号的相等部分。刻度数,然后获取日期值,然后拒绝重复,然后将它们指定为刻度值?
-
您可以简单地使用刻度的
.tick()函数来获取刻度,然后删除重复项。
标签: d3.js charts axis-labels