0

平均積雪深を週数でプロットするページを作りました。2010 年に入り、第 1 週に、グラフは x 軸 (年週) の間隔を広げます。私が欲しいのは、x 軸の週番号 (51、52、1、2 など) と固定間隔幅です。誰もそれを行う方法を知っていますか?

<script id="source" language="javascript" type="text/javascript">
$(function () {

var d1 = [
[201001,118],[200952,112],[200951,102],[200950,97],[200949,93],
[200948,41],[200947,10],[200947,0]];

var d2 = [
[201001,33],[200952,31],[200951,31],[200950,25],[200949,23],
[200948,12],[200947,0],[200947,0]];

$.plot($("#placeholder"),
   [{data:d1,lines:{show: true},
     points:{show: true},label:"Mountain"},
    {data:d2,lines:{show: true},points:{show: true},label:"Valley"}],
    {xaxis: {tickSize:1, tickDecimals:0 }}
);

});
</script>
4

2 に答える 2

3

x軸に一連の「目盛り」を定義し、そこに週番号をマッピングすることができます

{xaxis: 
    {
        ticks: [[201001,'1'],[200952,'52'],[200951,'51'],....]
        tickSize:1, 
        tickDecimals:0
    }
}

V2-動作しているようです。フロットチャートを参照してください

<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>

'200947'がデータセットに2回含まれているようです。

于 2010-01-10T11:38:45.803 に答える
-1

ストレートセットを週番号に変換する関数を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);'に置き換えることができます。ダニが「第1週」、「第2週」などを表示するようにします。

詳細については、「軸のカスタマイズ」のflotapiを参照してください。

于 2010-06-21T22:03:02.967 に答える