Jquery flot和周数
我制作了一个页面,按周数绘制平均积雪深度。现在我们进入2010年,第1周我的图表在x轴(yearweek)上拉伸了时间间隔。 我想要的是x轴上的周数(51、52、1、2等),以及固定的间隔宽度。 有人知道怎么做吗Jquery flot和周数,jquery,graph,plot,flot,week-number,Jquery,Graph,Plot,Flot,Week Number,我制作了一个页面,按周数绘制平均积雪深度。现在我们进入2010年,第1周我的图表在x轴(yearweek)上拉伸了时间间隔。 我想要的是x轴上的周数(51、52、1、2等),以及固定的间隔宽度。 有人知道怎么做吗 $(函数(){ 变量d1=[ [201001,118],[200952,112],[200951,102],[200950,97],[200949,93], [200948,41],[200947,10],[200947,0]]; 变量d2=[ [201001,33],[20095
$(函数(){
变量d1=[
[201001,118],[200952,112],[200951,102],[200950,97],[200949,93],
[200948,41],[200947,10],[200947,0]];
变量d2=[
[201001,33],[200952,31],[200951,31],[200950,25],[200949,23],
[200948,12],[200947,0],[200947,0]];
$.plot($(“#占位符”),
[{data:d1,行:{show:true},
要点:{show:true},标签:“Mountain”},
{data:d2,行:{show:true},点:{show:true},标签:“Valley”},
{xaxis:{tickSize:1,tickDecimals:0}
);
});
您可以为x轴定义一组“记号”,并在那里映射周数
{xaxis:
{
ticks: [[201001,'1'],[200952,'52'],[200951,'51'],....]
tickSize:1,
tickDecimals:0
}
}
V2-似乎有效,请参阅
$(函数(){
变量d1=[
[200952,112],[200951,102],[200950,97],[200949,93],[200948,41],[200947,10],[200946,0]];
变量d2=[
[200952,31],[200951,31],[200950,25],[200949,23],[200948,12],[200947,0],[200946,0]];
$.plot($(“#占位符”),
[{data:d1,行:{show:true},
要点:{show:true},标签:“Mountain”},
{data:d2,行:{show:true},点:{show:true},标签:“Valley”},
{xaxis:{
勾号:[200952,'52'],[200951,'51'],[200950,'50'],[200949,'49'],[200948,'48'],[200947,'47'],[200946,'46'],
tickSize:1,tickDecimals:1}
);
});
“200947”似乎在您的数据集中出现了两次。尝试在tickformatter中编写一个函数,将直接的数据集转换为周数 例如:
xaxis: {
tickFormatter: function suffixFormatter(val, axis) {
return (val.toFixed(axis.tickDecimals) + 49) % 52;
}
}
我还没有测试这段代码,类型转换可能有一些问题。它应该把你的(0,1,2,…)集合转换成新的集合(49,50,51,52,1,2,…),因此,当你在数据中绘制你的周时,调用第49周0,它将显示一周。为了获得更大的灵活性,可以将返回值替换为return“week”+((val.toFixed(axis.tickDecimals)+49)%52);”所以你的蜱虫会显示“第一周”、“第二周”等等
参见“自定义轴”以获取更多信息。
我们现在在2009/2010周的第53周,你不能跳过这个星期,因为不是所有的年份都正好是52周。我知道它提供了更多的细节,你可以用X轴在文档中做些事情,因为我不认为这是一个实际的“答案”。我把它放在评论里。我想是重复的。你能看一下吗:不能让它工作。我们将不胜感激。<div id="placeholder" style="width:600px;height:300px;"></div>
<script id="source" language="javascript" type="text/javascript">
$(function () {
var d1 = [
[200952,112],[200951,102],[200950,97],[200949,93],[200948,41],[200947,10],[200946,0]];
var d2 = [
[200952,31],[200951,31],[200950,25],[200949,23],[200948,12],[200947,0],[200946,0]];
$.plot($("#placeholder"),
[{data:d1,lines:{show: true},
points:{show: true},label:"Mountain"},
{data:d2,lines:{show: true},points:{show: true},label:"Valley"}],
{xaxis: {
ticks: [[200952,'52'],[200951,'51'],[200950,'50'],[200949,'49'],[200948,'48'],[200947,'47'],[200946,'46']],
tickSize:1, tickDecimals:1 }}
);
});
</script>
xaxis: {
tickFormatter: function suffixFormatter(val, axis) {
return (val.toFixed(axis.tickDecimals) + 49) % 52;
}
}