我想在jqPlot图表渲染器上提供tickInterval
以在xaxis上获得线性分布。
$.jqplot.config.enablePlugins = true;
var chartData = [[1, 224], [3, 672], [5, 1120],[15,2240]];
function PlotChart(chartData) {
var plot2 = $.jqplot('chart1', [chartData], {
title: 'Mouse Cursor Tracking',
seriesDefaults: {
renderer: $.jqplot.CanvasAxisLabelRenderer,
rendererOptions: {
smooth: true
},
pointLabels: {
show: true
}
},
axes: {
xaxis: {
label: 'Number of Cookies',
renderer: $.jqplot.CategoryAxisRenderer,
// renderer to use to draw the axis,
tickOptions: {
formatString: '%d'
}
},
yaxis: {
label: 'Calories',
tickOptions: {
formatString: '%.2f'
}
}
},
highlighter: {
sizeAdjust: 7.5
},
cursor: {
show: true
}
});
} PlotChart(chartData);
以上是图表当前外观的示例
我想在xaxis
(tickInterval - 5)上提供点1,5,10,15,20,并且相对于1,3,5,15绘图需要在坐标平面中来映射值[[1,224],[3,672],[5,1120],[15,2240]]
目前根据xticks
分配的不均匀。欢迎任何帮助!
我尝试使用min / max和tickInterval
属性来获取它,但似乎它不会很好。
答案 0 :(得分:0)
如果你想在你的x轴上提供tickIntervals,你可以这样做。
$.jqplot.config.enablePlugins = true;
var chartData = [[1, 224], [3, 672], [5, 1120],[15,2240]];
function PlotChart(chartData) {
var plot2 = $.jqplot('chart1', [chartData], {
title: 'Mouse Cursor Tracking',
seriesDefaults: {
renderer: $.jqplot.CanvasAxisLabelRenderer,
rendererOptions: {
smooth: true
},
pointLabels: {
show: true
}
},
axes: {
xaxis: {
label: 'Number of Cookies',
min:0,
max:20,
tickInterval:5,
// renderer to use to draw the axis,
tickOptions: {
formatString: '%d'
}
},
yaxis: {
label: 'Calories',
tickOptions: {
formatString: '%.2f'
}
}
},
highlighter: {
sizeAdjust: 7.5
},
cursor: {
show: true
}
});
}
PlotChart(chartData);
您可以在绘制图表之前计算min
,max
和tickInterval
。
我希望这会有所帮助。
答案 1 :(得分:0)
通过不使用renderer: $.jqplot.CategoryAxisRenderer
,您可以按照自己的方式进行操作