我使用jqPlot来说明一些时间序列数据。同时,我有一个下拉菜单控制x轴的刻度间隔(时间轴)。刻度间隔可以动态更改,但最后一个刻度总是超出范围。
例如,我的x轴上限为Dec 1 1961
,起始日期为Jan 2 1961
,间隔为3 month
。然后轴上的最后一个刻度是Jan 2 1962
,而不是实际的上限。所以我的问题是如何使得滴答间隔仅在x轴边界内工作(比如在外推之前与上限进行比较)。谢谢!
这是我的情节demo。
JS:
var x_water = [data are available on JSFIDDLE]
var x_date2 = [data are available on JSFIDDLE]
var x_date2_len = x_date2.length;
var paired = [];
for (var i = 0; i <= x_date2_len; i += 1) {
paired.push([x_date2[i], x_water[i]]);
}
$('#calc1').click(function (range_interval) {
var range_interval = $("#display_interval_1").val();
createplot1(range_interval);
});
function createplot1(range_interval) {
$.jqplot.config.enablePlugins = true;
$('#chart1').empty();
$.jqplot('chart1', [paired], {
seriesDefaults: {
showMarker: false,
pointLabels: {
show: false
}
},
series: [{
label: 'Water Concentrations'
}],
axes: {
xaxis: {
renderer: $.jqplot.DateAxisRenderer,
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
formatString: '%#m/%#d/%Y',
angle: -30
},
min: x_date2[0],
max: x_date2[300],
tickInterval: range_interval,
label: 'Date',
pad: 0
},
yaxis: {
label: 'Water Total (μg/L)',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
pad: 0
}
},
legend: {
show: true,
location: 'nw',
placement: 'inside',
fontSize: '11px'
}
})
}
答案 0 :(得分:0)
在你的函数createplot1中,我将max:x_date2 [300]更改为max:x_date2 [200]。我随机选择了这个数字以查看效果,现在它可以按你想要的方式工作。