JFreeChart生成柱形圖代碼

jopen 9年前發布 | 812 次閱讀 Java JFreeChart


import java.awt.Font;

import javax.swing.JFrame;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

public class BarChartDemo {

/** 
 * @param args 
 */  
public static void main(String[] args) {  

    JFreeChart chart = ChartFactory.createBarChart("統計", "水果", "水果種類",  
            getDataSet());  

    // 從這里開始  
    CategoryPlot plot = chart.getCategoryPlot();// 獲取圖表區域對象  
    CategoryAxis domainAxis = plot.getDomainAxis(); // 水平底部列表  
    domainAxis.setLabelFont(new Font("黑體", Font.BOLD, 14)); // 水平底部標題  
    domainAxis.setTickLabelFont(new Font("宋體", Font.BOLD, 12)); // 垂直標題  
    ValueAxis rangeAxis = plot.getRangeAxis();// 獲取柱狀  
    rangeAxis.setLabelFont(new Font("黑體", Font.BOLD, 15));  
    chart.getLegend().setItemFont(new Font("黑體", Font.BOLD, 15));  
    chart.getTitle().setFont(new Font("宋體", Font.BOLD, 20));// 設置標題字體  

    ChartPanel chartPanel = new ChartPanel(chart, true); // 這里也可以用chartFrame,可以直接生成一個獨立的Frame  
    JFrame frame=new JFrame("Java數據統計圖");    
    frame.add(chartPanel);           //添加柱形圖    
    frame.setBounds(50, 50, 900, 600);    
    frame.setVisible(true);    
}  

private static CategoryDataset getDataSet() {  
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();  
    dataset.addValue(100, "北京", "蘋果");  
    dataset.addValue(100, "上海", "蘋果");  
    dataset.addValue(100, "廣州", "蘋果");  
    dataset.addValue(200, "北京", "梨子");  
    dataset.addValue(200, "上海", "梨子");  
    dataset.addValue(200, "廣州", "梨子");  
    dataset.addValue(300, "北京", "葡萄");  
    dataset.addValue(300, "上海", "葡萄");  
    dataset.addValue(300, "廣州", "葡萄");  
    dataset.addValue(400, "北京", "香蕉");  
    dataset.addValue(400, "上海", "香蕉");  
    dataset.addValue(400, "廣州", "香蕉");  
    dataset.addValue(500, "北京", "荔枝");  
    dataset.addValue(500, "上海", "荔枝");  
    dataset.addValue(500, "廣州", "荔枝");  
    return dataset;  
}  

} </pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!