`
lengchaotian
  • 浏览: 278966 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

画柱形图

阅读更多
1.package com.wkx.jfreechart;  
2. 
3.import java.awt.BasicStroke;  
4.import java.awt.Color;  
5.import java.awt.Dimension;  
6.import java.awt.Font;  
7.import java.util.Random;  
8. 
9.import javax.swing.JPanel;  
10. 
11.import org.jfree.chart.ChartFactory;  
12.import org.jfree.chart.ChartPanel;  
13.import org.jfree.chart.JFreeChart;  
14.import org.jfree.chart.axis.CategoryAxis;  
15.import org.jfree.chart.axis.NumberAxis;  
16.import org.jfree.chart.plot.CategoryPlot;  
17.import org.jfree.chart.plot.PlotOrientation;  
18.import org.jfree.chart.title.LegendTitle;  
19.import org.jfree.chart.title.TextTitle;  
20.import org.jfree.data.category.CategoryDataset;  
21.import org.jfree.data.category.DefaultCategoryDataset;  
22.import org.jfree.ui.ApplicationFrame;  
23.import org.jfree.ui.RefineryUtilities;  
24. 
25.public class MyBarChartTest extends ApplicationFrame {  
26. 
27.    public MyBarChartTest(String title) {  
28.        super(title);  
29.        JFreeChart barChart = createBarChart(createDateset());  
30.        JPanel localPanel = new ChartPanel(barChart);  
31.        localPanel.setPreferredSize(new Dimension(500,270));  
32.        setContentPane(localPanel);  
33.    }  
34. 
35.    private String[] city={"北京","上海","深圳","西安","广州"};  
36.    private String[] fruit={"苹果","鸭梨","桔子","香蕉","栗子"};  
37.      
38.    public static void main(String[] args) {  
39.        MyBarChartTest barChartTest = new MyBarChartTest("柱形图测试");  
40.        barChartTest.pack();  
41.        RefineryUtilities.centerFrameOnScreen(barChartTest);  
42.        barChartTest.setVisible(true);  
43.    }  
44.      
45.    public CategoryDataset createDateset(){  
46.        DefaultCategoryDataset dataset = new DefaultCategoryDataset();  
47.        Random r = new Random();   
48.        for(int i=0;i<city.length;i++){  
49.            for(int j=0;j<fruit.length;j++){  
50.                dataset.setValue(r.nextDouble() * 10, city[i], fruit[j]);  
51.            }  
52.        }  
53.        return dataset;  
54.    }  
55.      
56.    public JFreeChart createBarChart(CategoryDataset dataset){  
57.        JFreeChart barChart = ChartFactory.createBarChart("柱状图测试", "水果", "产量", dataset, PlotOrientation.VERTICAL, true, true, true);  
58.        //获取绘图区  
59.        CategoryPlot plot = barChart.getCategoryPlot();  
60.        //设置绘图区网格线是否可见(竖着的网格线)  
61.        plot.setDomainGridlinesVisible(true);  
62.        //设置绘图区网格线颜色(竖着的网格线)  
63.        plot.setDomainGridlinePaint(Color.RED);  
64.        //设置绘图区网格交叉线是否可见(单击时出现的横线)  
65.        plot.setRangeCrosshairVisible(true);  
66.        //设置绘图区网格交叉线颜色(单击时出现的横线)  
67.        plot.setRangeCrosshairPaint(Color.BLUE);  
68.        //数据轴网格线条颜色(横着的线条)  
69.        plot.setRangeGridlinePaint(Color.GRAY);  
70.        //数据轴网格线条样式粗细(横着的线条)  
71.        plot.setRangeGridlineStroke(new BasicStroke(1.0F));  
72.        //获取标题对象  
73.        TextTitle title = barChart.getTitle();  
74.        //设置标题字体  
75.        title.setFont(new Font("黑体", Font.PLAIN, 20));  
76.        //获取底部对象  
77.        LegendTitle legend = barChart.getLegend();  
78.        //设置底部字体  
79.        legend.setItemFont(new Font("宋体", Font.PLAIN, 14));  
80.        //设置绘图区背景色  
81.        barChart.setBackgroundPaint(Color.PINK);  
82.        //数据区的分类轴  
83.        CategoryAxis domainAxis = plot.getDomainAxis();  
84.        //坐标轴标题字体  
85.        domainAxis.setLabelFont(new Font("黑体", Font.PLAIN, 16));  
86.        //坐标轴标尺值字体  
87.        domainAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 16));  
88.        //数据区的数据轴  
89.        NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();  
90.        //坐标轴标题字体  
91.        numberAxis.setLabelFont(new Font("黑体", Font.PLAIN, 16));  
92.        //坐标轴标尺值字体  
93.        numberAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 16));  
94.          
95.        return barChart;  
96.    }  
97. 
98. 
99.} 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics