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