JFreeChart - 열 차트에 숫자 표시

카탈로그
package jp.avaj.lib.chart;

import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.Plot;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.renderer.category.CategoryItemRenderer;
import org.jfree.data.category.DefaultCategoryDataset;

/**
■ JFreeChart-バーチャートに値を表示する

 */
public class Chart07_10 {
  // 目次-バーチャート(BarChart)
  A_Chart07 a_Chart07;
  // 目次-Artery-JFreeChart用のライブラリ
  A_Chart00 a_LibChartSampeContents;

  static final String ITEM_0 = "商品0";
  static final String ITEM_1 = "商品1";
  static final String DOMAIN_0 = "地域0";
  static final String DOMAIN_1 = "地域1";
  static final String DOMAIN_2 = "地域2";

  public static void main(String[] args) {
    // 表示データを生成する
    DefaultCategoryDataset dataset = createDataset();
    // X軸
    CategoryAxis domainAxis = new CategoryAxis();
    // Y軸
    ValueAxis rangeAxis = new NumberAxis();
    // 値を表示するためにY軸を少し広げる ⇒ このくらいは自動的にやってほしい....
    rangeAxis.setUpperMargin(0.1D);

    // レンダラ
    BarRenderer renderer = new BarRenderer();
    // 以下の設定で値が表示される
    renderer.setBaseItemLabelsVisible(true);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    // PlotはCategoryPlot
    CategoryPlot plot = new CategoryPlot(dataset,domainAxis,rangeAxis,(CategoryItemRenderer)renderer);
    JFreeChart jfreeChart = new JFreeChart("バーチャート",(Plot)plot);
    //
    ChartFrame cFrame = new ChartFrame("バーチャート",(JFreeChart)jfreeChart);
    cFrame.pack();
    cFrame.setVisible(true);
  }

  private static DefaultCategoryDataset createDataset() {
    DefaultCategoryDataset localDefaultCategoryDataset = new DefaultCategoryDataset();
    localDefaultCategoryDataset.addValue(100.0D,ITEM_0,DOMAIN_0);
    localDefaultCategoryDataset.addValue(44.0D,ITEM_0,DOMAIN_1);
    localDefaultCategoryDataset.addValue(93.0D,ITEM_0,DOMAIN_2);
    localDefaultCategoryDataset.addValue(80.0D,ITEM_1,DOMAIN_0);
    localDefaultCategoryDataset.addValue(75.0D,ITEM_1,DOMAIN_1);
    localDefaultCategoryDataset.addValue(15.0D,ITEM_1,DOMAIN_2);
    return localDefaultCategoryDataset;
  }
}

JFreeChart 샘플

좋은 웹페이지 즐겨찾기