【发布时间】:2012-10-26 14:05:46
【问题描述】:
我遇到了一个关于 jqplot 的问题,日期是 X 轴。
我的代码是
var data = [
["10/23/2011", 266522],
["10/24/2011", 170287],
["10/25/2011", 2175],
["10/26/2011", 1794]
];
$.jqplot('chart1', [data], {
axes: {
xaxis: {
renderer: $.jqplot.DateAxisRenderer,
}
}
});
我的日期范围从 2011 年 10 月 23 日开始。
但是,渲染的图表总是从 2011 年 10 月 22 日开始。
我知道替代方法是使用最小值和最大值。
但我也希望刻度间隔均匀分布。以下是我尝试通过在图表中均匀间隔日期标签来实现的目标。
var chart = $('chart1');
chart.resetAxesScale();
var tickInterval = Math.ceil(chart._plotData[0].length / chart.axes.xaxis._numberTicks);
var newTickInterval = tickInterval * 24 * 60 * 60 * 1000;
chart.axes.xaxis.tickInterval = newTickInterval;
chart.replot();
这基本上会平衡tickIntervals并且x轴不会混乱。
我什至尝试用最小值和最大值设置图表,并使用上面的代码来平均间隔日期,但我没有运气。最小值和最大值在“chart.resetAxesScale()”上重置。即使我在 resetAxesScale 方法中设置了使用现有 min,max 的选项,图表也不支持这些值。
轴选项中的 'pad' 属性不适用于 DateTimeAxisRenderer。
从开始日期总是有一个刻度。 如果有人能指出我的错误,那将非常有帮助。 谢谢。
【问题讨论】: