您的位置:首页 > 其它

JFreeChart简单例子_创建柱状图(当遇到中文乱码时,将各个部分的字体分别设置一下就行了)

2012-07-11 10:01 381 查看
先导入jfreechart-1.0.14.jar jcommon-1.0.17.jar

package com.xk.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.axis.ValueAxis;

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 JFreeChartTest2 extends ApplicationFrame

{

public JFreeChartTest2(String title)

{

super(title);

this.setContentPane(createPanel());

}

public static CategoryDataset getDataset()

{

DefaultCategoryDataset dataset = new DefaultCategoryDataset();

dataset.setValue(22,"外联","外联部");

dataset.setValue(25,"宣传","宣传部");

dataset.setValue(12,"财务","财务部");

dataset.setValue(33,"技术","技术部");

return dataset;

}

public static JFreeChart getChart(CategoryDataset dataset)

{

//此标题 ‘某社团各部门 ’将被后面的chart.setTitle的标题 ‘某社团各部门柱状图’ 覆盖

JFreeChart chart = ChartFactory.createBarChart("某社团各部门","部门名称",

"人员数量",dataset,PlotOrientation.VERTICAL,true,true,false);

//设置柱状图 主标题的文字

chart.setTitle(new TextTitle("某社团各部门柱状图",new Font("宋 体",Font.BOLD+Font.ITALIC,20)));

//设置柱状图最下方说明的文字

chart.getLegend().setItemFont(new Font("微软雅黑",Font.BOLD,12));

CategoryPlot plot = (CategoryPlot) chart.getPlot();

CategoryAxis axis = plot.getDomainAxis();

//设置X轴坐标上标题的文字

axis.setLabelFont(new Font("微软雅黑",Font.BOLD,22));

//设置X轴坐标上的文字,

axis.setTickLabelFont(new Font("微软雅黑",Font.BOLD,12));

ValueAxis valueAxis = plot.getRangeAxis();

//设置Y轴坐标上标题的文字

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

//设置Y轴坐标上的文字

valueAxis.setTickLabelFont(new Font("sans-serif",Font.BOLD,12));

return chart;

}

public static JPanel createPanel()

{

JFreeChart chart = getChart(getDataset());

return new ChartPanel(chart);

}

public static void main(String[] args)

{

JFreeChartTest2 chartFrame = new JFreeChartTest2("某社团各部门分布图");

chartFrame.pack();

chartFrame.setVisible(true);

}

}

运行结果为:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐