1

値の範囲が広く、少数のデータ ポイントがあります。これを表示するために LogAxisRenderer を使用していますが、バーの幅がラベルよりも小さいほど小さい値がまだあり、バーはほとんど見えず、幅が数ピクセルしかありません。

私ができるようにしたいのは、最小幅 (たとえば 20 ピクセル) を設定して、バーが最小値より小さくならないようにし、ラベルがバー内に収まるようにすることです。これは別のグラフ ライブラリ (残念ながらフラッシュ ベース) で見たことがあります。しかし、jqplot でそれを行う方法はないと思います。

私の質問は: jqplot 内でこれを行う方法はありますか? そうでない場合、これを許可するためにライブラリに変更を加えるにはどうすればよいですか? JavaScript は知っていますが、jqplot の内部構造には詳しくないので、誰かが私を正しい方向に向けることができれば、それは素晴らしいことです!

jsfiddle でこの例を参照してください: http://jsfiddle.net/C9bcJ/11/

コードは次のとおりです。

plot4 = $.jqplot('bar_chart', data, {
    animate: true,
    stackSeries: true,
    captureRightClick: true,
    seriesColors: ['#00ff00', '#ffff00', '#ff0000'],
    seriesDefaults: {
        renderer: $.jqplot.BarRenderer,
        shadowAngle: 135,
        rendererOptions: {
            barDirection: 'horizontal',
            highlightMouseDown: true
        },
        pointLabels: {
            show: true,
            formatString: '%d',
            hideZeros: true
        }
    },
    axes: {
        xaxis: {
            renderer: $.jqplot.LogAxisRenderer,
            showTicks: false,
            drawMajorGridlines: false
        },
        yaxis: {
            renderer: $.jqplot.CategoryAxisRenderer,
            rendererOptions: {
                tickRenderer: $.jqplot.AxisTickRenderer,
                tickOptions: {
                    mark: null,
                    fontSize: 14
                }
            },
            ticks: ticks
        }
    }
});

グラフ画像へのリンクは次のとおりです。

http://i.imgur.com/89Bt4HK.jpg

4

0 に答える 0