我想用xaxis绘制带有以下内容的图形:
var xaxis = [31.1,31.2,31.3,31.4,31.5, 32.1,32.2,32.3,32.4,32.5];
注意31.5和32.1之间的跳过方式。但是,当我绘制线图时,这两点之间有一个很大的空间。这是我的代码:
$(document).ready(function(){
var cust1 = [[31.1,10],[31.2,15],[31.3,25],[31.4, 60],[31.5,95]];
var cust2 = [[31.1,0],[31.2,15],[31.3,30],[31.4, 50],[31.5,85]];
var data = [];
data.push(cust1);
data.push(cust2);
var xaxis = [31.1,31.2,31.3,31.4,31.5, 32.1,32.2,32.3,32.4,32.5];
var plot3 = $.jqplot('line-chart', data,
{
title:'Design Progress',
axes: {
xaxis: {
//renderer: $.jqplot.LineRenderer,
label: 'Work Weeks',
ticks: xaxis
},
yaxis: {
label: "Percent Complete",
max: 100,
min: 0
}
}
}
);
});
我认为这是因为我没有在我的xaxis选项中指定渲染器选项。但是,我试图使用$ .jqplot.LineRenderer和$ .jqplot.CategoryAxisRenderer而没有任何运气(我甚至将我的xaxis值设置为字符串,但这不起作用)。有谁知道发生了什么事?
以下是进一步澄清的图片:
答案 0 :(得分:1)
它发生的原因:jQuery flot库正在使用由您的数据确定的值构建图形。
当您提供此类数据时,插件会将轴值设置为与文本相同以及您给出的数字的边框。 您可以做的是将文本设置为与轴值不同。
您可以通过options.xaxis.ticks.push([value, "the text"])
轻松完成。
请注意,您将设置哪个标签具有哪个轴值,并且在调用$plot
之前需要设置options参数