JfreeChart

import java.awt.Font;
import java.io.*;
import org.jfree.data.*;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.chart.*;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.*;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;

public class BarChartDemo {
public static void main(String[] args) throws IOException {
CategoryDataset dataset = getDataSet2();
JFreeChart chart = ChartFactory.createBarChart3D("水果产量图", // 图表标题
"水果", // 目录轴的显示标签
"产量", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是 false)
false, // 是否生成工具
false // 是否生成 URL 链接
);

TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("宋体", Font.BOLD, 20));
LegendTitle legend = chart.getLegend();
if (legend != null) {
legend.setItemFont(new Font("宋体", Font.BOLD, 20));
}
CategoryPlot plot = (CategoryPlot) chart.getPlot();
CategoryAxis domainAxis = plot.getDomainAxis();// (柱状图的x轴)
domainAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 20));// 设置x轴坐标上的字体
domainAxis.setLabelFont(new Font("宋体", Font.BOLD, 20));// 设置x轴上的标题的字体
ValueAxis valueAxis = plot.getRangeAxis();// (柱状图的y轴)
valueAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 20));// 设置y轴坐标上的字体
valueAxis.setLabelFont(new Font("宋体", Font.BOLD, 20));// 设置y轴坐标上的标题的字体
FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("D:\\fruit.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 640, 480, null);
} finally {
try {
fos_jpg.close();
} catch (Exception e) {
}
}
}

private static CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, null, "苹果");
dataset.addValue(200, null, "梨子");
dataset.addValue(300, null, "葡萄");
dataset.addValue(400, null, "香蕉");
dataset.addValue(500, null, "荔枝");
return dataset;
}

private static CategoryDataset getDataSet2() {
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;
}
}




import java.awt.Font;
import java.io.*;

import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.*;

import org.jfree.chart.plot.PiePlot;

import org.jfree.chart.title.TextTitle;

public class PieChartDemo {
public static void main(String[] args) throws IOException {
DefaultPieDataset data = getDataSet();
JFreeChart chart = ChartFactory.createPieChart("水果产量图", // 图表标题
data, true, // 是否显示图例
false, false);
// 写图表对象到文件,参照柱状图生成源码
TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("宋体", Font.BOLD, 20));

Font font2 = new Font("SimSun", 10, 16);
PiePlot pieplot = (PiePlot) chart.getPlot();
pieplot.setLabelFont(font2);
chart.getLegend().setItemFont(font2);

FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("D:\\fruit2.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 640, 480, null);
} finally {
try {
fos_jpg.close();
} catch (Exception e) {
}
}
}

private static DefaultPieDataset getDataSet() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("苹果", 100);
dataset.setValue("梨子", 200);
dataset.setValue("葡萄", 300);
dataset.setValue("香蕉", 400);
dataset.setValue("荔枝", 500);
return dataset;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值