package fr1;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
public class mypiechart {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DefaultPieDataset data = getDataSet();
JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", data, true,
false, false);
try {
ChartUtilities.saveChartAsPNG(new File("d:/444.jpg"), chart, 900, 800);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 获取一个演示用的简单数据集对象
*
* @return
*/
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;
}
}
package fr1;
import java.awt.BasicStroke;
import java.awt.Font;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.AxisLocation;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
public class myline {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFreeChart chat=ChartFactory.createLineChart("公司季度销售表", "月份", "销量:单位(万)", getdataset(), PlotOrientation.VERTICAL, true, true, true);
CategoryPlot plot=(CategoryPlot)chat.getCategoryPlot();
plot.setNoDataMessage("暂无数据!!");
//plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);//表格是上还是下
//plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
//以下将是对图表的设置
LineAndShapeRenderer renderer = new LineAndShapeRenderer();
renderer.setBaseShapesVisible(true);
renderer.setBaseShapesFilled(false);
float dashes[] = { 8.0f };
renderer.setBaseStroke(new BasicStroke(1.6f, // 线条粗细
BasicStroke.CAP_ROUND, // 端点风格
BasicStroke.JOIN_ROUND, // 折点风格
8.0f, // 折点处理办法
dashes, // 虚线数组
0.0f)); // 虚线偏移量
renderer.setSeriesStroke(1, renderer.getBaseStroke());
//下面三行将实现在折点位置上显示数据
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelFont(new Font("黑体", Font.PLAIN, 12));
renderer.setItemLabelsVisible(true);
plot.setRenderer(renderer);
try {
ChartUtilities.saveChartAsPNG(new File("D:\\公司.jpg"), chat, 800, 600);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static DefaultCategoryDataset getdataset()
{
DefaultCategoryDataset data=new DefaultCategoryDataset();
data.setValue(200, "小张", "1月");
data.setValue(500, "小李", "1月");
data.setValue(800, "小云", "1月");
data.setValue(500, "小张", "2月");
data.setValue(600, "小李", "2月");
data.setValue(900, "小云", "2月");
data.setValue(300, "小张", "3月");
data.setValue(200, "小李", "3月");
data.setValue(900, "小云", "3月");
data.setValue(300, "小张", "4月");
data.setValue(200, "小李", "4月");
data.setValue(400, "小云", "4月");
return data;
}
}
package fr1;
//普通的3D柱形表图示
import java.awt.Color;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.AxisLocation;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.TextAnchor;
public class fmybar3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFreeChart bar1=ChartFactory.createBarChart3D(" 市场调查", "产品种类", "销售量", getDataset(), PlotOrientation.VERTICAL, true, true, true);
CategoryPlot piolt=bar1.getCategoryPlot();
piolt.setBackgroundPaint(Color.white);//设置网格的背景颜色
piolt.setDomainGridlinePaint(Color.red);
piolt.setRangeGridlinePaint(Color.RED); // 设置水平方向背景线颜色
piolt.setRangeGridlinesVisible(true); // 设置是否显示水平方向背景线,默认值为True
piolt.setDomainGridlinePaint(Color.RED); // 设置垂直方向背景线颜色
piolt.setDomainGridlinesVisible(false); // 设置是否显示垂直方向背景线,默认值为False
BarRenderer3D renderer = new BarRenderer3D();
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
//默认的数字显示在柱子中,通过如下两句可调整数字的显示
//注意:此句很关键,若无此句,那数字的显示会被覆盖,给人数字没有显示出来的问题
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
renderer.setItemLabelAnchorOffset(10D);
piolt.setRenderer(renderer);//将属性的设置应用到图标中
try {
ChartUtilities.saveChartAsPNG(new File("d:\\CPU3.jpg"), bar1, 500, 400);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static CategoryDataset getDataset()
{
DefaultCategoryDataset dataset=new DefaultCategoryDataset();
dataset.setValue(200, "中天科技", "CPU");
dataset.setValue(270, "华为", "CPU");
dataset.setValue(500, "普天科技", "CPU");
dataset.setValue(200, "中天科技", "computer");
dataset.setValue(300, "华为", "computer");
dataset.setValue(500, "普天科技", "computer");
dataset.setValue(200, "中天科技", "LED");
dataset.setValue(300, "华为", "LED");
dataset.setValue(500, "普天科技", "LED");
dataset.setValue(200, "中天科技", "ARM");
dataset.setValue(300, "华为", "ARM");
dataset.setValue(300, "华为", "LED");
dataset.setValue(500, "普天科技", "LED");
dataset.setValue(500, "普天科技", "ARM");
return dataset;
}
}
package fr1;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class mybar1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFreeChart bar=ChartFactory.createBarChart("市场调查", "产品种类", // 图表标题
"销量 单位:万", // 目录轴的显示标签
getDataset(), // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
true, // 是否生成工具
true ); // 是否生成URL链接)
try {
ChartUtilities.saveChartAsPNG(new File("d:\\CPU.jpg"), bar, 500, 400);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static CategoryDataset getDataset()
{
DefaultCategoryDataset dataset=new DefaultCategoryDataset();
dataset.setValue(200, "中天科技", "CPU");
dataset.setValue(300, "华为", "CPU");
dataset.setValue(500, "普天科技", "CPU");
dataset.setValue(200, "中天科技", "computer");
dataset.setValue(300, "华为", "computer");
dataset.setValue(500, "普天科技", "computer");
dataset.setValue(200, "中天科技", "LED");
dataset.setValue(300, "华为", "LED");
dataset.setValue(500, "普天科技", "LED");
dataset.setValue(200, "中天科技", "ARM");
dataset.setValue(300, "华为", "ARM");
dataset.setValue(500, "普天科技", "ARM");
return dataset;
}
}
package fr1;
//普通的柱形表图示
import java.awt.Color;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class mybar2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFreeChart bar=ChartFactory.createBarChart("市场调查", "产品种类", // 图表标题
"销量 单位:万", // 目录轴的显示标签
getDataset(), // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
true, // 是否生成工具
true ); // 是否生成URL链接)
CategoryPlot piolt=bar.getCategoryPlot();
piolt.setBackgroundPaint(Color.white);//设置网格的背景颜色
piolt.setDomainGridlinePaint(Color.red);
piolt.setRangeGridlinePaint(Color.RED); // 设置水平方向背景线颜色
piolt.setRangeGridlinesVisible(true); // 设置是否显示水平方向背景线,默认值为True
piolt.setDomainGridlinePaint(Color.RED); // 设置垂直方向背景线颜色
piolt.setDomainGridlinesVisible(false); // 设置是否显示垂直方向背景线,默认值为False
try {
ChartUtilities.saveChartAsPNG(new File("d:\\CPU.jpg"), bar, 500, 400);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static CategoryDataset getDataset()
{
DefaultCategoryDataset dataset=new DefaultCategoryDataset();
dataset.setValue(200, "中天科技", "CPU");
dataset.setValue(270, "华为", "CPU");
dataset.setValue(500, "普天科技", "CPU");
dataset.setValue(200, "中天科技", "computer");
dataset.setValue(300, "华为", "computer");
dataset.setValue(500, "普天科技", "computer");
dataset.setValue(200, "中天科技", "LED");
dataset.setValue(300, "华为", "LED");
dataset.setValue(500, "普天科技", "LED");
dataset.setValue(200, "中天科技", "ARM");
dataset.setValue(300, "华为", "ARM");
dataset.setValue(500, "普天科技", "ARM");
return dataset;
}
}
package fr1;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
public class mypiechart {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DefaultPieDataset data = getDataSet();
JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", data, true,
false, false);
try {
ChartUtilities.saveChartAsPNG(new File("d:/444.jpg"), chart, 900, 800);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 获取一个演示用的简单数据集对象
*
* @return
*/
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;
}
}
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.labels.StandardXYItemLabelGenerator;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYItemRenderer;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.time.TimeSeriesDataItem;
/**
* 该类用于演示最简单的柱状图生成
*
* @author wf.shu
*/
public class TimeSeriesChartDemo {
public static void main(String args[]) {
JFreeChart chart =ChartFactory.createTimeSeriesChart("二月销售统计","日期","",getData(),true,true,false);
XYPlot plot = (XYPlot) chart.getPlot();
// XYItemRenderer renderer = new DefaultXYItemRenderer();
// renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
// plot.setRenderer(renderer);
XYItemRenderer r = plot.getRenderer();
if (r instanceof XYLineAndShapeRenderer) {
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
renderer.setItemLabelGenerator(new StandardXYItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
//显示数据
renderer.setItemLabelsVisible(true);
//是否显示数据点
renderer.setBaseShapesVisible(true);
//是否填充数据点
renderer.setBaseShapesFilled(false);
}
//定义坐标轴上的日期的显示格式
DateAxis dateaxis=(DateAxis) plot.getDomainAxis();
dateaxis.setDateFormatOverride(new SimpleDateFormat("yy-MM-dd"));
//添加标题
//chart.setTitle(new TextTitle("标题", new Font("宋体", Font.ITALIC, 20)));
//添加子标题
//chart.addSubtitle(new TextTitle("子标题", new Font("宋体", Font.BOLD, 20)));
//chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.white));
try{
ChartUtilities.saveChartAsPNG(new File("D:/tsChart.jpg"), chart, 700, 400);
}
catch(Exception e){
e.printStackTrace();
}
}
public static TimeSeriesCollection getData() {
TimeSeriesCollection tsCollection = new TimeSeriesCollection();
TimeSeries ts1 = new TimeSeries("R1");
ts1.add(new TimeSeriesDataItem(new Day(1, 2, 2009), 0.56D));
ts1.add(new TimeSeriesDataItem(new Day(2, 2, 2009), 0.56D));
ts1.add(new TimeSeriesDataItem(new Day(3, 2, 2009), 0.51D));
ts1.add(new TimeSeriesDataItem(new Day(4, 2, 2009), 0.52D));
ts1.add(new TimeSeriesDataItem(new Day(5, 2, 2009), 0.35D));
ts1.add(new TimeSeriesDataItem(new Day(6, 2, 2009), 0.67D));
ts1.add(new TimeSeriesDataItem(new Day(7, 2, 2009), 0.81D));
ts1.add(new TimeSeriesDataItem(new Day(8, 2, 2009), 0.44D));
ts1.add(new TimeSeriesDataItem(new Day(9, 2, 2009), 0.57D));
ts1.add(new TimeSeriesDataItem(new Day(10, 2, 2009), 0.69D));
ts1.add(new TimeSeriesDataItem(new Day(11, 2, 2009), 0.54D));
ts1.add(new TimeSeriesDataItem(new Day(12, 2, 2009), 0.77D));
ts1.add(new TimeSeriesDataItem(new Day(13, 2, 2009), 0.56D));
ts1.add(new TimeSeriesDataItem(new Day(14, 2, 2009), 0.56D));
ts1.add(new TimeSeriesDataItem(new Day(15, 2, 2009), 0.51D));
ts1.add(new TimeSeriesDataItem(new Day(16, 2, 2009), 0.52D));
ts1.add(new TimeSeriesDataItem(new Day(17, 2, 2009), 0.35D));
ts1.add(new TimeSeriesDataItem(new Day(18, 2, 2009), 0.67D));
ts1.add(new TimeSeriesDataItem(new Day(19, 2, 2009), 0.81D));
ts1.add(new TimeSeriesDataItem(new Day(20, 2, 2009), 0.44D));
ts1.add(new TimeSeriesDataItem(new Day(21, 2, 2009), 0.57D));
ts1.add(new TimeSeriesDataItem(new Day(22, 2, 2009), 0.69D));
ts1.add(new TimeSeriesDataItem(new Day(23, 2, 2009), 0.54D));
ts1.add(new TimeSeriesDataItem(new Day(24, 2, 2009), 0.77D));
ts1.add(new TimeSeriesDataItem(new Day(25, 2, 2009), 0.67D));
ts1.add(new TimeSeriesDataItem(new Day(26, 2, 2009), 0.81D));
ts1.add(new TimeSeriesDataItem(new Day(27, 2, 2009), 0.44D));
ts1.add(new TimeSeriesDataItem(new Day(28, 2, 2009), 0.57D));
tsCollection.addSeries(ts1);
TimeSeries ts2 = new TimeSeries("R2");
ts2.add(new TimeSeriesDataItem(new Day(1, 2, 2009), 0.23D));
ts2.add(new TimeSeriesDataItem(new Day(2, 2, 2009), 0.42D));
ts2.add(new TimeSeriesDataItem(new Day(3, 2, 2009), 0.34D));
ts2.add(new TimeSeriesDataItem(new Day(4, 2, 2009), 0.52D));
ts2.add(new TimeSeriesDataItem(new Day(5, 2, 2009), 0.67D));
ts2.add(new TimeSeriesDataItem(new Day(6, 2, 2009), 0.84D));
ts2.add(new TimeSeriesDataItem(new Day(7, 2, 2009), 0.74D));
ts2.add(new TimeSeriesDataItem(new Day(8, 2, 2009), 0.54D));
ts2.add(new TimeSeriesDataItem(new Day(9, 2, 2009), 0.67D));
ts2.add(new TimeSeriesDataItem(new Day(10, 2, 2009), 0.76D));
ts2.add(new TimeSeriesDataItem(new Day(11, 2, 2009), 0.66D));
ts2.add(new TimeSeriesDataItem(new Day(12, 2, 2009), 0.91D));
tsCollection.addSeries(ts2);
return tsCollection;
}
}