Javascript 在Flot Js中的x轴数据的每个点之间设置相同的间隙
我的图表如下: 我想在flot中的每个点之间留一个相同的间隙,因为我想在同一时间只显示6个数据。 因此,我可以管理x轴数据的外观。 现在看起来不太好。Javascript 在Flot Js中的x轴数据的每个点之间设置相同的间隙,javascript,flot,Javascript,Flot,我的图表如下: 我想在flot中的每个点之间留一个相同的间隙,因为我想在同一时间只显示6个数据。 因此,我可以管理x轴数据的外观。 现在看起来不太好。 您可以为我提供另一种解决方案,使x轴标签值看起来很好。在flot中显示线性x值的最简单方法是为flot提供升序索引,然后将此索引与自定义标签函数结合使用,以显示任意字符串作为x轴标签。执行此操作的代码如下所示: function randomDate() { var start = new Date(2012, 01, 01);
您可以为我提供另一种解决方案,使x轴标签值看起来很好。在flot中显示线性x值的最简单方法是为flot提供升序索引,然后将此索引与自定义标签函数结合使用,以显示任意字符串作为x轴标签。执行此操作的代码如下所示:
function randomDate() {
var start = new Date(2012, 01, 01);
var end = new Date();
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
}
$(function () {
var theDates = [];
var dataValues = [];
for (var i = 0; i < 14; i += 0.5) {
theDates.push(randomDate());
dataValues.push([i, Math.sin(i)]);
}
$.plot($("#placeholder"), [dataValues], {
xaxis: {
tickFormatter: function xAxisLabelGenerator(x) {
return moment(theDates[x]).format('YYYY/MM/DD');
}
}
});
});
函数randomDate(){
风险值开始=新日期(2012年1月1日);
var end=新日期();
返回新日期(start.getTime()+Math.random()*(end.getTime()-start.getTime());
}
$(函数(){
var theDates=[];
var数据值=[];
对于(var i=0;i<14;i+=0.5){
推送(randomDate());
dataValues.push([i,Math.sin(i)]);
}
$.plot($(“#占位符”),[dataValues]{
xaxis:{
tickFormatter:函数xAxisLabelGenerator(x){
返回力矩(日期[x])。格式('YYYY/MM/DD');
}
}
});
});
在本例中,我使用矩来格式化一个随机日期,并将其按顺序放置在x轴上。您会注意到,由于日期是完全随机的,它们甚至可能不是连续的,但它们都是均匀分布的。如果你想要小提琴版本。祝你好运 在flot中显示线性x值的最简单方法是为flot提供一个升序索引,然后将此索引与自定义标签函数结合使用,以显示任何您想要的字符串作为x轴标签。执行此操作的代码如下所示:
function randomDate() {
var start = new Date(2012, 01, 01);
var end = new Date();
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
}
$(function () {
var theDates = [];
var dataValues = [];
for (var i = 0; i < 14; i += 0.5) {
theDates.push(randomDate());
dataValues.push([i, Math.sin(i)]);
}
$.plot($("#placeholder"), [dataValues], {
xaxis: {
tickFormatter: function xAxisLabelGenerator(x) {
return moment(theDates[x]).format('YYYY/MM/DD');
}
}
});
});
函数randomDate(){
风险值开始=新日期(2012年1月1日);
var end=新日期();
返回新日期(start.getTime()+Math.random()*(end.getTime()-start.getTime());
}
$(函数(){
var theDates=[];
var数据值=[];
对于(var i=0;i<14;i+=0.5){
推送(randomDate());
dataValues.push([i,Math.sin(i)]);
}
$.plot($(“#占位符”),[dataValues]{
xaxis:{
tickFormatter:函数xAxisLabelGenerator(x){
返回力矩(日期[x])。格式('YYYY/MM/DD');
}
}
});
});
在本例中,我使用矩来格式化一个随机日期,并将其按顺序放置在x轴上。您会注意到,由于日期是完全随机的,它们甚至可能不是连续的,但它们都是均匀分布的。如果你想要小提琴版本。祝你好运 在固定距离设置数据,而不考虑x值,称为in-Flot。对于这种模式,您可以用这种形式给出数据,而不需要单独给出记号:
var data = [
["2016-02-18 11:53:49 AM", 12, "<b>X</b> : 2016-02-18 11:53:49 AM | <b>Y</b>: 12"],
...
]
var数据=[
[“2016-02-18 11:53:49 AM”,12,“X:2016-02-18 11:53:49 AM | Y:12”,
...
]
请参阅下面的完整工作示例(顺便说一句:我将您在小提琴中使用的flot.js文件从0.7升级到了0.8.3)。将数据设置为固定距离,而不考虑x值,这在flot中是众所周知的。对于这种模式,您可以用这种形式给出数据,而不需要单独给出记号:
var data = [
["2016-02-18 11:53:49 AM", 12, "<b>X</b> : 2016-02-18 11:53:49 AM | <b>Y</b>: 12"],
...
]
var数据=[
[“2016-02-18 11:53:49 AM”,12,“X:2016-02-18 11:53:49 AM | Y:12”,
...
]
请参阅以下完整的工作示例(顺便说一句:我将您在fiddle中使用的flot.js文件从0.7升级到了0.8.3)。请将代码和数据作为代码片段或尽可能添加。您是否尝试过将数值与自定义格式化程序一起使用,而不是将x轴值添加为时间值?我希望xaxis值保持原样。尚未尝试使用自定义格式化程序。这是我的提琴。@Raidri,请对此提琴提出建议。请将代码和数据作为代码段添加,或者如果可能的话。您是否尝试过将数字值与自定义格式一起使用,而不是将x轴值作为时间值添加?我希望xaxis值保持原样。尚未尝试使用自定义格式化程序。这是我的小提琴。@Raidri,请对这把小提琴提出建议。