对于我的生活,我无法弄清楚使用dateAxisRenderer在我的x轴上关闭滴答声的问题。这仅发生在超过1个月的范围内。我手动设置最小值和最大值,所有日期数据都来自php的Y-m-d
格式。我尝试了所有可以找到的东西来强制图形的开头和结尾处的刻度线,并避免图形中间的不匹配。我附上了一个截图,展示了这个问题。我还在dateAxisRenderer中添加了对daysInMonths数组(错误数字)的修复,但该变量似乎不会在任何地方使用。
注意: js中显示的数据只是为了演示结构,一个真实的集合也无法发布。
照片:
在上图中,在月份的变化中,发生不匹配。 10月29日的标签上有第30个点和数据。正在运行console.log(targetPlot.axes.xaxis.max)
总是返回我的最大+ 1天的js纪元,即使我的最大值是明确设置的。
我的代码:
var graphData = {"object1":[["2013-01-01", 0], ["2013-01-02", 0]], "object2":[["2013-01-01", 0], ["2013-01-02", 0]]};
var time = '%#d-%b-%y';
var min = '2013-10-23';
var max = '2013-11-21';
var toPlot = [graphData.object1, graphData.object2];
$.jqplot.enablePlugins = true;
window.targetPlot = $.jqplot('chart-main', toPlot, {
animate: true,
animateReplot: true,
seriesDefaults: {
showMarker: false,
pointLabels: { show: false },
markerOptions: {
show: true,
style: 'filledCircle',
size: 7
}
},
seriesColors: colours,
cursor: {
show: true,
showTooltip: false
},
series: [
{
showMarker: true,
lineWidth: 2,
rendererOptions: {
animation: {
speed: 1500
}
}
},
{
showMarker: true,
lineWidth: 2,
yaxis: 'y2axis',
rendererOptions: {
animation: {
speed: 1750
}
}
}
],
axesDefaults: {
useSeriesColor: true,
rendererOptions: {
alignTicks: true,
tickDistribution: 'even'
}
},
axes: {
xaxis: {
renderer: $.jqplot.DateAxisRenderer,
tickRenderer: $.jqplot.CanvasAxisTickRenderer ,
tickOptions: {
angle: -65,
fontSize: '8pt',
formatString: time
},
min: min,
max: max
},
yaxis: {
tickOptions: {
fontSize: '8pt'
},
min: 0,
pad: 0
},
y2axis: {
tickOptions: {
fontSize: '8pt'
},
min: 0,
pad: 0
}
}
});
由于
答案 0 :(得分:1)
修改部件后,在超过1个月的某些数据集上会出现错误,并自动生成这些月份的刻度。每个月的天数都是错误的,并且在dateAxisRenderer中使用不正确。该错误已经以另一种方式报告(以不同的方式)。
为了避免在下次更新文件时记得更新我的dateAxisRenderer,我现在定义我的刻度(后退)并且不包括dateAxisRenderer。