5

JasperReportsを使用してWeb アプリケーションの折れ線グラフを作成しています。

データセットをコンパイル済みレポート ( iReportで作成) に渡すことに成功し、データを正しく表示できます。

ただし、余白をカスタマイズしたいです。

  1. マージンがないため、折れ線グラフに表示されている値は最高値をトリミングしています。
  2. X 軸のラベルは、Y 軸 0 の値から数個の空白の後に来ます。その余白を取り除き、X 軸と Y 軸の交点のすぐ近くから X 軸を開始したいと考えています。

写真を見てください:

ここに画像の説明を入力

webspps で定義されているカスタマイズされたクラスを使用しています。ラベルのフォント サイズと回転を変更することはできますが、余白を調整する方法がわかりません。

public class LineChartCustomizer implements JRChartCustomizer {
    @Override
    public void customize(JFreeChart jFreeChart, JRChart jrChart) {
        CategoryPlot plot = jFreeChart.getCategoryPlot();

        DecimalFormat dfKey = new DecimalFormat("###,###");

        StandardCategoryItemLabelGenerator labelGenerator = new StandardCategoryItemLabelGenerator("{2}", dfKey);  

        LineAndShapeRenderer renderer = new LineAndShapeRenderer();

        renderer.setBaseItemLabelsVisible(true);

        renderer.setBaseItemLabelGenerator(labelGenerator);

        renderer.setBaseItemLabelFont(new java.awt.Font("SansSerif", java.awt.Font.PLAIN, 4));        

        renderer.setSeriesShape(0, ShapeUtilities.createDiamond(1F));

        plot.setRenderer(renderer);
    }
}
4

1 に答える 1

4

*と を探しているValueAxis#setUpperMargin(double)と思いますCategoryAxis#setLowerMargin(double)CategoryAxisValueAxisからplot.getDomainAxis()とを取得できますplot.getRangeAxis()。余白は、ピクセル値ではなく、軸の長さのパーセンテージであることに注意してください。

* 私は JasperReports に詳しくありませんが、 ではなくCategoryPlotを手にしているのは少し奇妙に思えますXYPlot。あなたの写真のチャートは xy 時系列を使用していると思います。これを でしかテストしたXYPlotことがないので、 でどのように動作するかは完全にはわかりませんCategoryPlot

于 2013-08-28T19:10:02.783 に答える