【问题标题】:JQuery Flot X axis label formattingJQuery Flot X轴标签格式化
【发布时间】:2015-11-02 11:23:35
【问题描述】:

我没有更多日期格式的 x 轴标签的刻度。现在我需要根据动态生成的刻度数将其格式化为年或月或周。例如,如果我有日期 2011-10-01,2011-10-02,......2015-10-05,那么我需要将 x 轴标签格式化为 2011,2012,2013,... 2015 年。当我制作折线图时,当我单击圆圈时,它应该在工具提示中显示实际值。即 2011-01-10: 200。现在 x 轴标签彼此合并。

我尝试创建只显示年份的刻度,但在工具提示中它没有得到反映。即空。

请分享我如何以良好的方式制作它的想法。

【问题讨论】:

  • 尽可能从样本数据中添加小提琴。

标签: jquery flot


【解决方案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

【讨论】:

  • 工具提示将如何工作?它是否会在工具提示中显示真正的价值?或格式化的值。我需要真正的价值。
  • 根据您使用的工具提示插件,您可能需要对其进行不同的格式化,但真正的价值就在那里。尝试在小提琴中实现它,如果您还有其他问题,请回到这里。