Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery flot和周数_Jquery_Graph_Plot_Flot_Week Number - Fatal编程技术网

Jquery flot和周数

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

我制作了一个页面,按周数绘制平均积雪深度。现在我们进入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],[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;
    }
}