用java语言生成成绩柱状图

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/rothschild666/article/details/95783986

用java语言生成柱状图

一、下载生成柱状图所需要的jar包(gnujaxp-1.0.0.jar、jcommon-1.0.16.jar、jfreechart-1.0.13.jar):点击下面博主百度云分享的jar包资源链接,然后保存下载该资源并且解压。

点击保存下载生成柱状图的jar包的资源 提取码:tc5d

二、将解压后的三个jar包导入Eclipse需要生成柱状图的你自己所创建的工程(比如:博主创建的工程是xr,然后导入jar包再在工程右击选择refresh刷新,就会出现下图中在Referenced Libraries中的jar包表示导包成功!)。

在这里插入图片描述

三、在该工程中创建好包和类之后,复制下面的代码,然后记得修改下面代码中的 package 包名。

package xr;//这是引入包名,根据自己创建的包名可以进行修改
import java.awt.Font;
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.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import java.awt.GridLayout;
import javax.swing.JFrame;
public class BarChart {
	ChartPanel frame1;
	public  BarChart(){
		CategoryDataset dataset = getDataSet();//将获得的数据传递给CategoryDataset类的对象
       JFreeChart chart = ChartFactory.createBarChart3D(
      		                 "成绩表", // 图表标题
                           "考试科目", // 目录轴的显示标签
                           "成绩", // 数值轴的显示标签
                           dataset, // 数据集
                           PlotOrientation.VERTICAL, // 图表方向:水平、垂直
                           true, // 是否显示图例(对于简单的柱状图必须是false)
                           false,  // 是否生成工具
                           false  // 是否生成URL链接
                           );
      
       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));//设置标题字体

        frame1=new ChartPanel(chart,true);  //这里也可以用chartFrame,可以直接生成一个独立的Frame
        
	}
	   private static CategoryDataset getDataSet() {
          DefaultCategoryDataset dataset = new DefaultCategoryDataset();
          dataset.addValue(100, "数学", "数学");//成绩1
          dataset.addValue(95, "Java", "Java");//成绩2
          dataset.addValue(80, "英语", "英语");//成绩3
          dataset.addValue(93, "体育", "体育");//成绩4
          return dataset;
	   }
	   public ChartPanel getChartPanel(){
		   return frame1;
	
	   	}
	   public static void main(String args[]){
		   JFrame frame=new JFrame("成绩表");
		   frame.setLayout(new GridLayout(2,2,10,10));
		   frame.add(new BarChart().getChartPanel());   //添加柱形图
		   frame.setBounds(0, 0, 900, 800);
		   frame.setVisible(true);
	   }
}

四、最后在Eclipse中运行java文件就可以生成成绩柱状图(见下图)。

在这里插入图片描述

各位看官看完之后有什么好的建议欢迎提出,一起讨论交流共同进步嘛!!

猜你喜欢

转载自blog.csdn.net/rothschild666/article/details/95783986