5

logAxisRendererを使用してjqPlotでデータをプロットし、2つの対数軸を作成します。

2つの問題を除いて、すべて問題ありません。

  1. jqPlotは、0と1の間に多くの空のスペースを作成します。

  2. 数値を「%'i」にフォーマットするため、x軸には2つのゼロがあります(1つは0.0用、もう1つは0.5用)。

空のスペースとゼロを非表示にするために、min:1とmax:100000を使用しようとしました。しかし、これはうまくいきませんでした。結果のプロットには線がなく、すべてのx軸ラベルが軸の左側の同じ場所にあります。

このプロットを作成するために使用するコードは次のとおりです。

$.jqplot(divId, [ line ], {
    title : title,
    series:[{showMarker:false}],
    axes : {
        xaxis : {
            label:'Users',
            renderer : $.jqplot.LogAxisRenderer,
            tickOptions:{
                tickDistribution: "power",
                formatString: "%'i"
            },
            labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
        },
        yaxis : {
            label:'Frequency',
            renderer : $.jqplot.LogAxisRenderer,
            tickOptions:{
                tickDistribution:"power",
                formatString: "%'i"
            },
            labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
        },
    },
});
4

1 に答える 1

2

この問題を解決するには、強制ティックを使用できます。

$.jqplot(divId, [ line ], {
    title : title,
    series:[{showMarker:false}],
    axes : {
        xaxis : {
            label:'Users',
            renderer : $.jqplot.LogAxisRenderer,
            ticks: [1, 10, 100, 1000, 10000],
            tickOptions:{
                tickDistribution: "power",
                formatString: "%'i"
            },
            labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
        },
        // ...
    },
});

これは、一般的な方法で問題を実際に解決するわけではありませんが、役に立ちます。私(jqPlot 1.0.4r1121)の場合、「min:1」を設定すると、説明した動作になります。「最小:1」と「最大:10000」の両方の設定が機能しますが、電力分散ティックは設定しませんが、間隔を空けたティックも設定します。

于 2012-10-22T10:27:52.267 に答える