3

縦向きになるように、棒グラフの itemLabels を約 90° 回転させる必要があります。itemLabels は、軸上のラベルではなく、バーの上のラベルです。そうしないと itemLabels が重複するため、これを行う必要があります。ラベルが重ならないようにする方法があることは知っていますが、ラベルを垂直方向に配置するという特定の要求があります。方法があれば教えてください。

4

2 に答える 2

2

問題を解決する方法を見つけました。JRAbstractChartCustomizer を拡張する ChartCustomizer のカスタマイズ関数内で BasePositiveItemLabelPosition を設定する必要があります。オーバーライドされた costomize メソッドは、2 つのパラメーターを取ります。この場合、「チャート」は JFreeChart である最初のものです。チャートから適切なレンダラーを取得する必要があります。この場合は CategoryPlotRenderer です。レンダラーには BasePositiveItemLabelPosition を設定する関数があり、これを使用して、ItemLabels を配置する場所と回転方法 (-Math.PI / 2 -> 反時計回りに 90°) を定義できます。

CategoryItemRenderer renderer = chart.getCategoryPlot().getRenderer();
    ItemLabelPosition itemLabelPosition = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.CENTER_LEFT,
            TextAnchor.CENTER_LEFT, -Math.PI / 2);
    renderer.setBasePositiveItemLabelPosition(itemLabelPosition);
于 2013-02-26T12:21:16.400 に答える
0

JFree Chart ライブラリを使用していると仮定します。その場合は、チャート オプションをより細かく制御できるチャート カスタマイザー クラスを追加するオプションがあります。

Jasper のチャート カスタマイザーに関するこのブログ投稿を確認してください。これはまさにあなたが探しているものだと思います。いくつかの追加機能を示す2 つ目の投稿があります。

于 2013-02-22T17:12:30.243 に答える