爱玺玺

爱玺玺的生活日记本。wx:lb87626

JFreeChart制作柱形图,解决中文乱码问题


import java.awt.Font;


import javax.swing.JPanel;


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.plot.CategoryPlot;

import org.jfree.chart.plot.PlotOrientation;

import org.jfree.chart.title.TextTitle;

import org.jfree.data.category.CategoryDataset;

import org.jfree.data.category.DefaultCategoryDataset;

import org.jfree.ui.ApplicationFrame;


public class Test11 extends ApplicationFrame

{

    public Test11(String title)

    {

        super(title);

        this.setContentPane(createPanel()); //构造函数中自动创建Java的panel面板

    }

    

    public static CategoryDataset createDataset() //创建柱状图数据集

    {

        DefaultCategoryDataset dataset=new DefaultCategoryDataset();

        dataset.setValue(10,"a","管理人员");

        dataset.setValue(20,"b","市场人员");

        dataset.setValue(40,"c","开发人员");

        dataset.setValue(15,"d","其他人员");

        return dataset;

    }

    

    public static JFreeChart createChart(CategoryDataset dataset) //用数据集创建一个图表

    {

        JFreeChart chart=ChartFactory.createBarChart("hi", "人员分布", 

                "人员数量", dataset, PlotOrientation.VERTICAL, true, true, false); //创建一个JFreeChart

        chart.setTitle(new TextTitle("某公司组织结构图",new Font("宋体",Font.BOLD+Font.ITALIC,20)));//可以重新设置标题,替换“hi”标题

        CategoryPlot plot=(CategoryPlot)chart.getPlot();//获得图标中间部分,即plot

        

        plot.getRangeAxis().setLabelFont(new Font("微软雅黑",Font.BOLD,12));

        

        CategoryAxis categoryAxis=plot.getDomainAxis();//获得横坐标

        categoryAxis.setTickLabelFont(new Font("微软雅黑",Font.BOLD,12));//设置横坐标字体

        categoryAxis.setLabelFont(new Font("微软雅黑",Font.BOLD,12));//设置横坐标标题字体

        return chart;

    }

    

    public static JPanel createPanel()

    {

        JFreeChart chart =createChart(createDataset());

        return new ChartPanel(chart); //将chart对象放入Panel面板中去,ChartPanel类已继承Jpanel

    }

    

    public static void main(String[] args)

    {

        Test11 chart=new Test11("某公司组织结构图");

        chart.pack();//以合适的大小显示

        chart.setVisible(true);

        

    }

}



链接:https://pan.baidu.com/s/14zY3UDx5w_4lkoZpZmO-kA 

提取码:824n 

复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V4的分享


发表评论:

Powered By Z-BlogPHP 1.4 Deeplue Build 150101

Copyright Your WebSite.Some Rights Reserved.

蜀ICP备11021721号-5