swing下使用JFreeChart的一个例子

这是给出一个例子,因为找了一段时间才找到,这里给出来供各位参考。希望能被google搜索到。

import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.util.Date;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

import jws.pubGUI.YcJPanel;

public class DayLinkChart {

Date dt;
long Stcd;

public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new DayLinkChart().createDemoPanel());
frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}


private static CategoryDataset createDataset() {
String s = "First";
String s1 = "Second";
String s2 = "Category 1";
// 生成defaultcategorydataset数据源对象

DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
// 向该defaultcategorydataset数据源对象添加数据

defaultcategorydataset.addValue(1.0D, s, s2);
defaultcategorydataset.addValue(5D, s1, s2);
return defaultcategorydataset;
}

private static JFreeChart createChart(CategoryDataset categorydataset) {
JFreeChart jfreechart = ChartFactory.createBarChart("图形标题", "横坐标", "纵坐标", categorydataset/* 数据源 */, PlotOrientation.VERTICAL/* 方向 */, true, true, false);
jfreechart.setBackgroundPaint(new Color(0xbbbbdd));// 设置背景色

CategoryPlot categoryplot = jfreechart.getCategoryPlot();
// 得到图形以便精细设置

NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
// 取得该类图形的范围数字轴,指纵坐标

numberaxis.setTickLabelFont(new Font("黑体", Font.ITALIC, 18));
// 设置纵坐标的字体,风格,大小

numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
// 设置纵坐标以标准整形为单位

BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
// barrenderer表示得到所有的柱形集合对象

barrenderer.setDrawBarOutline(false);// 不显示柱形的外边框

barrenderer.setMaximumBarWidth(2D);// 设置每个图形的最大宽度

GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, Color.black);// 从上到下渐变的颜色

GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F, Color.red);// 从上到下渐变的颜色

barrenderer.setSeriesPaint(0, gradientpaint);// 第一个柱形

barrenderer.setSeriesPaint(1, gradientpaint1);// 第二个柱形

return jfreechart;
}

/**
* 返回一个面板
*
* @return JPanel
*/
public static JPanel createDemoPanel() {
// 生成jfreechart对象

JFreeChart jfreechart = createChart(createDataset());
return new ChartPanel(jfreechart);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值