我对日期格式的x轴标签没有更多的刻度。现在我需要根据动态生成的滴答数来格式化年份,月份或周。例如,如果我有日期2011-10-01,2011-10-02,...... 2015-10-05,那么我需要将x轴标签格式化为2011年,2012年,2013年...... 2015年。当我在制作折线图时,当我点击圆圈时,它应该显示工具提示中的实际值。即2011-01-10:200。现在x轴标签彼此合并。
我尝试过仅显示年份的刻度,但在工具提示中它没有得到反映。即空的。
请分享想法,我怎样才能以良好的方式制作它。
答案 0 :(得分:1)
您可以使用以下函数自定义timeformat和minTickSize的选项,具体取决于您的数据:
var diff = data[data.length - 1][0] - data[0][0];
var oneDay = 24 * 60 * 60 * 1000;
if (diff < 31 * oneDay) {
options.xaxis.minTickSize = [1, 'day'];
options.xaxis.timeformat = '%Y-%m-%d';
} else if (diff < 24 * 31 * oneDay) {
options.xaxis.minTickSize = [1, 'month'];
options.xaxis.timeformat = '%Y-%m';
} else {
options.xaxis.minTickSize = [1, 'year'];
options.xaxis.timeformat = '%Y';
}
有关完整示例,请参阅此fiddle。