Jfreechart创建环形图

package com.lyf.iaqms;

import java.awt.Color;

import java.awt.Font;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartFrame;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.StandardChartTheme;

import org.jfree.chart.axis.NumberAxis;

import org.jfree.chart.axis.NumberTickUnit;

import org.jfree.chart.axis.ValueAxis;

import org.jfree.chart.labels.ItemLabelAnchor;

import org.jfree.chart.labels.ItemLabelPosition;

import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;

import org.jfree.chart.labels.StandardPieSectionLabelGenerator;

import org.jfree.chart.plot.CategoryPlot;

import org.jfree.chart.plot.IntervalMarker;

import org.jfree.chart.plot.PlotOrientation;

import org.jfree.chart.plot.RingPlot;

import org.jfree.chart.title.LegendTitle;

import org.jfree.chart.title.TextTitle;

import org.jfree.data.general.DefaultPieDataset;

import org.jfree.data.general.PieDataset;

import org.jfree.ui.Layer;

import org.jfree.ui.LengthAdjustmentType;

import org.jfree.ui.TextAnchor;

public class RingChart {

public RingChart(){

this.createChart();

}

public void createChart() {

StandardChartTheme mChartTheme = new StandardChartTheme("CN");

mChartTheme.setLargeFont(new Font("黑体", Font.BOLD, 14)); // Y柱标签字体(浓度(单位:ppm))

mChartTheme.setExtraLargeFont(new Font("宋体", Font.PLAIN, 20)); //标题 (二氧化碳浓度趋势分析图)

//应用主题样式

ChartFactory.setChartTheme(mChartTheme);

//定义图标对象

JFreeChart chart = ChartFactory.createRingChart

("环形图",// 报表题目,字符串类型

this.createDataset(), // 获得数据集

true, // 显示图例

false, // 不用生成工具

false // 不用生成URL地址

);

//图表

RingPlot ringplot=(RingPlot) chart.getPlot();

ringplot.setLabelFont(new Font("宋体", Font.BOLD, 14));

//用来显示标注的注解,{0}:{1}用来设置显示的格式

ringplot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}:{1}"));

ringplot.setBackgroundPaint(Color.gray);//设置背景色

//设置简单标签

ringplot.setSimpleLabels(true);

//标题

TextTitle texttitle=chart.getTitle();

texttitle.setFont(new Font("宋体", Font.BOLD, 30));

//图示

LegendTitle legendtitle =chart.getLegend();

legendtitle.setItemFont(new Font("宋体", Font.BOLD, 14));

ChartFrame mChartFrame = new ChartFrame("环形图", chart);

mChartFrame.pack();

mChartFrame.setVisible(true);

}

// 获得数据集 (这里的数据是为了测试我随便写的一个自动生成数据的例子)

public PieDataset createDataset() {

DefaultPieDataset dataSet = new DefaultPieDataset();

//使用循环向数据集合中添加数据

int i,j;

String []a={"Java","VC","C++","数据结构","计算机网络"};

int []b={1964,820,825,960,1000};

for(i=0,j=0;i<a.length&&j<b.length;i++,j++){

dataSet.setValue(a[i],b[j]);

}

return dataSet;

}

public static void main(String[] args) {

RingChart RC=new RingChart();

}

}

时间: 2024-11-05 21:41:47

Jfreechart创建环形图的相关文章

iOS 画环形图

由于新项目的的需求,需要画环形图,由于以前都没接触过这一类(我是菜鸟),去cocochina山找到了一个案例,个人觉得还可以,分享一下 github 地址https://github.com/zhouxing5311/ZZCircleProgress 这个使用起来非常的简单 作者开放了很多接口,可以根据自己的需求进行更改 一般就是声明一个累类就Ok了 具体实现的代码如下 可能我的代码有点不一样,我自己加入了一些元素进去 //无小圆点.同动画时间 self.zzCircleProgress = [

环形图 自定义(一)

需求:自定义环形图(饼图),实现2项数据配比显示; 效果图: 实现分析: 1.目录结构: 代码实现: 1. color.xml <?xml version="1.0" encoding="utf-8"?> <resources> <!-- 饼图 --> <color name="pie_progress_bank">#fd8f8b</color> <color name="

Sliverlight实例之 绘制扇形和环形图

原文:Sliverlight实例之 绘制扇形和环形图 未解决: 1,任意偏角,是个重点问题: (1),  另一边在弧上坐标 (2),  这个弧的弧度(ArcSegment中的Size或Angle属性) (3),  如何把这个弧度做成依赖属性配置的 2,做成一个自定义控件 有时间,再完成 准备知识: 1,  平面几何思维(三角形,圆,弧,曲线,斜率,方程式) 2,  三次贝塞尔曲线的数学公式 3,  定时器与动画的区别是时间序列 4,  缓动动画   一,1道几何题 已知两点坐标确定一条直线,直线

使用StarUML创建类图

使用StarUML创建类图 http://www.flyne.org/article/379 1.综述(What) StarUML是一种生成类图和其他类型的UML图表的工具.本文是一个使用StarUML创建类图(Java语言描述)的简明手册. StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code” 的工具.SU也可以做JAVA逆向工程,以产生相应的UML图表. 在本教程中,我们将使用SU设计一个pizza饼.执行后续步骤,可以创建如下面所示的UML图.S

数据输入——生成你需要的echart图(堆积柱状图、扇形图、嵌套环形图)

最近论文需要一些比较直观的图表, 发现echart做出来的图还是比较美观的,这里介绍如何修改数据生成你需要的echart图. 1.堆积柱状图: http://echarts.baidu.com/examples/editor.html?c=bar-stack 以上的类型的颜色是自动分配的,stack属性可以将同一类型的数据放在一个矩形图中. 2.扇形图 http://echarts.baidu.com/examples/editor.html?c=pie-legend 1---->随机生成扇形图

echart 折线图、柱状图、饼图、环形图颜色修改

之前在做报表的时候用过echart 用完也就完了,而这次在用的时候已经忘了,所以这里简单记录一下,好记性不如烂笔头!!! 1.折线图修改颜色: [javascript] view plain copy xAxis: { type: 'category', boundaryGap: false, data: ['年龄','20岁以下','30岁','40岁','50岁','60岁','60岁以上'] }, yAxis: { type: 'value' }, series: [ { name:'员工

创建CAD图块,便于粘贴使用

创建CAD图块,便于粘贴使用.在CAD制图设计过程中,会遇到需要重复绘制相同的图形的情况.这个时候若是通过创建CAD图块的设置,在后续制图过程中,遇到需要绘制相同图块的时候,就可粘贴创建的块到当前图形当中,方便又实用.小编今天为大家演示一下具体步骤.演示步骤如下: 步骤一:首先下载安装需要的CAD软件--迅捷CAD编辑器然后运行. 步骤二:切换到"编辑器"菜单选项,开始编辑绘制.我们可以先在绘图区域绘制好需要创建的图块图形. 步骤三:图形绘制完成后选择所绘制的图形,点击工具栏里&quo

如何创建维恩图,用这个工具就可以了!

Visual Paradigm是包含设计共享.线框图和数据库设计新特性的企业项目设计工具.本期教程我们将为您介绍维恩图,并告诉您如何使用我们的维恩图软件创建维恩图.什么是维恩图? 维恩图,也称为主图,逻辑图或集图,广泛用于数学,统计,逻辑,计算机科学和商业分析,用于表示两组或更多组数据之间的逻辑关系. 维恩图涉及重叠的圆圈,它们展示了事物的组织方式,共性和差异.维恩图的目的: 维恩图有效地显示多个数据集(通常是两到四个)之间的相似性或差异. 维恩图还描述了统一多个数据组的结果. 他们还可以描述两

echarts组合环形图的参考例子

https://gallery.echartsjs.com/editor.html?c=x6LFNVgmfx 婚姻情况环形图 该例子提取placeHolderStyle公共变量 series: [ { name: 'Line 4', type: 'pie', clockWise: true, hoverAnimation: false, radius: ['65%', '75%'], itemStyle: dataStyle, data: [{ value: 7645434, name: '已婚