我有一个简单的flot折线图,包含每日数据样本。但该范围是用户可选择的(从2天到数年的数据)。
var chartConfig = {
xaxis: {
mode: "time",
timeformat: "%Y/%m/%d"
}
};
$.plot($("#chart"), readings, chartConfig);
我希望x轴刻度显示日期(例如2013/07/15),但是只有适当数量的刻度,均匀分布在整个范围内,以便显示标签文本不会溢出(例如10个蜱虫)。
我查看了 tickSize 和 minTickSize ,但这些只是“指南” - 超过4个标记,它们对此用例没有影响。
答案 0 :(得分:1)
最后,我自己写了一些内容,以显示固定数量的刻度,无论数据范围如何。
它计算显示滴答的样品的间隔,然后使用模运算符测试是否显示样品滴答。
var ticks = [];
var tick_count = 7; //number of ticks to show
var sample_count = readings[0].data.length;
var display_interval = Math.round((sample_count/tick_count));
for (var i = 0; i < sample_count; i++) {
if((i % display_interval) == 0) {
ticks.push(readings[0].data[i][0]);
}
}
chartConfig.xaxis.ticks = ticks;
$.plot($("#chart"), readings, chartConfig);
这假设所有样本的持续时间相同。