背景
我有一个PrimeFaces的折线图(以日期为x轴,y轴上的整数大于等于0),使用jqplot选项进行扩展:
function extender() {
this.cfg.axes = {
xaxis : {
renderer : $.jqplot.DateAxisRenderer,
rendererOptions : {
tickRenderer:$.jqplot.CanvasAxisTickRenderer
},
tickOptions : {
fontSize:'10pt',
fontFamily:'Tahoma',
angle:-40,
formatString:'%b-%y'
},
tickInterval:'2592000000'
},
yaxis : {
min: 0,
rendererOptions : {
tickRenderer:$.jqplot.CanvasAxisTickRenderer,
},
tickOptions: {
fontSize:'10pt',
fontFamily:'Tahoma',
angle:0,
formatString: '%d'
}
},
};
this.cfg.axes.xaxis.ticks = this.cfg.categories;
}
我正在使用jqplot扩展程序,在x轴上拥有自定义日期间隔,这很好用:
问题:
当我在y轴上使用min: 0选项时,数字的格式化变得非常奇怪,特别是当存在小值时:
请注意,primefaces中的minY属性不起作用(可能是因为扩展程序覆盖了它)
为了解决这个问题,我使用formatString:%d。它有效,但会对刻度数量产生问题:
正如您在截图上看到的,有几次出现了值为1的线。
问:如何确保我不会在y轴上多次获得相同的值?
我无法确定静态刻度数,因为当数据增长时(比如说大约100),我确实希望在y轴上有几个值(比如20,40等)。