JFreeChart生成柱形图代码

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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; 
    
   
}