3.JFreeChart线型图
作者:互联网
本文链接:https://blog.csdn.net/cnds123321/article/details/89600487
目录链接:https://blog.csdn.net/cnds123321/article/details/89600379
3.1 测试数据
年份 | 数量 |
---|---|
2010 | 15 |
2011 | 30 |
2012 | 45 |
2013 | 100 |
2014 | 150 |
2015 | 120 |
2016 | 170 |
2017 | 400 |
2018 | 600 |
2019 | 500 |
3.2 基于swing的应用
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import javax.swing.*;
import java.io.*;
public class BarChart {
public static void main(String[] args) throws IOException {
//创建一个数据集对象
DefaultCategoryDataset dataset=null;
//设置数据集
dataset=new DefaultCategoryDataset();
//第一个参数是第三个参数的值,即“数量”,第二个参数表示目录轴的分类,第三个参数表示的x轴显示标签
dataset.addValue(15,"数量","2010");
dataset.addValue(30,"数量","2011");
dataset.addValue(45,"数量","2012");
dataset.addValue(100,"数量","2013");
dataset.addValue(150,"数量","2014");
dataset.addValue(120,"数量","2015");
dataset.addValue(170,"数量","2016");
dataset.addValue(400,"数量","2017");
dataset.addValue(600,"数量","2018");
dataset.addValue(500,"数量","2019");
// 创建简单的折线图
JFreeChart freeChart=ChartFactory.createLineChart(
"数据折线图",// 图表标题
"年份",// 水平轴的显示标签
"数量",//垂直轴的显示标签
dataset,//数据集,即要显示在图表上的数据
PlotOrientation.VERTICAL,//图表方向:水平,垂直
true,//是否显示图例
false,//是否显示提示
false//是否生成URL连接
);
//以面板显示
ChartPanel chartPanel=new ChartPanel(freeChart);
chartPanel.setPreferredSize(new java.awt.Dimension(560,400));
//创建一个主窗口来显示面板
JFrame frame=new JFrame("条形图");
frame.setLocation(500,400);
frame.setSize(600,500);
//将主窗口的内容面板设置为图表面板
frame.setContentPane(chartPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
结果展示:
3.3 创建图像
生成JPEG图像。
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.DefaultCategoryDataset;
import java.io.*;
public class BarChart {
public static void main(String[] args) throws IOException {
//创建一个数据集对象
DefaultCategoryDataset dataset=null;
//设置数据集
dataset=new DefaultCategoryDataset();
//第一个参数是第三个参数的值,即“数量”,第二个参数表示目录轴的分类,第三个参数表示的x轴显示标签
dataset.addValue(15,"数量","2010");
dataset.addValue(30,"数量","2011");
dataset.addValue(45,"数量","2012");
dataset.addValue(100,"数量","2013");
dataset.addValue(150,"数量","2014");
dataset.addValue(120,"数量","2015");
dataset.addValue(170,"数量","2016");
dataset.addValue(400,"数量","2017");
dataset.addValue(600,"数量","2018");
dataset.addValue(500,"数量","2019");
// 创建简单的折线图
JFreeChart freeChart=ChartFactory.createLineChart(
"数据折线图",// 图表标题
"年份",// 水平轴的显示标签
"数量",//垂直轴的显示标签
dataset,//数据集,即要显示在图表上的数据
PlotOrientation.VERTICAL,//图表方向:水平,垂直
true,//是否显示图例
false,//是否显示提示
false//是否生成URL连接
);
//使用输出流输出图表文件
OutputStream os=new FileOutputStream("c:/picture.jpg");
ChartUtilities.writeChartAsJPEG(os,freeChart,500,500);
}
}
结果展示:
标签:jfree,dataset,线型,JFreeChart,org,addValue,import,数量 来源: https://blog.csdn.net/cnds123321/article/details/89600487