【发布时间】:2019-03-25 14:04:07
【问题描述】:
我有一个带有代表 X 轴的日期的折线图。而不是我的线从 Y 轴开始,我想将它稍微向右移动,以便它更具可读性。如果可能的话,我还想在我的 X 轴刻度列表中添加一个日期。所以基本上,如果我有一个包含 5 个日期的数组,例如:
{'2018 年 3 月 19 日'、'2018 年 4 月 24 日'、'2018 年 5 月 19 日'、'2018 年 6 月 4 日'、'2018 年 7 月 6 日'}
我希望 2018 年 3 月 19 日不直接显示在 X 轴 = 0 上。但是,我仍然希望在 X 轴 = 0 上有一个刻度值,例如我数组中的第一个日期减一个月。这有意义吗?这是用 d3 可以轻松完成的事情吗?
const circleLabelDrawDuration = 700;
const minDate = data[0].pullDate.setMonth(data[0].pullDate.getMonth() - 4);
const maxDate = data[data.length - 1].pullDate;
const xAxis = d3.scaleTime().domain([minDate, maxDate]).range([0, width]);
svg.append('g').call(d3.axisBottom(xAxis).ticks(pullDates.length).tickValues(pullDates).tickFormat(d3.timeFormat("%b %Y")))
.attr('transform', `translate(0,${height})`).selectAll('text')
.style('text-anchor', 'end').attr('dx', '-.8em').attr('dy', '-.15em').attr('transform', 'rotate(-50)');
【问题讨论】:
标签: javascript d3.js linechart