使用JFreeChart-创建饼图的小结

本文详细介绍了使用Java的JFreeChart库绘制饼图的过程。包括如何创建饼图所需的数据集DefaultPieDataset,设置饼图的各种属性如颜色、标签格式等,并提供了定制饼图外观的具体方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于工作中使用最多的图之一就是饼图了,所以在这做一个小结;


  • 使用的 dataset对象是 DefaultPieDataset


DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Section 1", 23.3);
dataset.setValue("Section 2", 56.5);
dataset.setValue("Section 3", 43.3);
dataset.setValue("Section 4", 11.1);
  • 使用的JFreeChart对象是:ChartFactory.createPieChart()
JFreeChart chart = ChartFactory.createPieChart("Chart 1", dataset, 
                false, false, false);
  • 对于饼图的图表的定制

由于饼图是一个比较特殊的图形-他没有轴(横轴,纵轴),所以就不需要创建Axis对象(或其子类)

  • 对于饼图所使用的图表区域对象是:PiePlot

PiePlot plot = (PiePlot) chart.getPlot();
  • 对于PiePlot的方法有:

void setDataset(PieDataset dataset) 数据区的1维数据表 
void setIgnoreNullValues(boolean flag) 忽略无值的分类 
void setCircular(boolean flag) 饼图是否一定是正圆 
void setStartAngle(double angle) 饼图的初始角度 
void setDirection(Rotation direction) 饼图的旋转方向 
void setExplodePercent(int section,double percent) 抽取的那块(1维数据表的分类下标)以及抽取出来的距离(0.0~1.0),3D饼图无效 
void setLabelBackgroundPaint(Paint paint) 分类标签的底色 
void setLabelFont(Font font) 分类标签的字体 
void setLabelPaint(Paint paint) 分类标签的字体颜色 
void setLabelLinkMargin(double margin) 分类标签与图的连接线边距 
void setLabelLinkPaint(Paint paint) 分类标签与图的连接线颜色 
void setLabelLinkStroke(Stroke stroke) 分类标签与图的连接线笔触 
void setLabelOutlinePaint(Paint paint) 分类标签边框颜色 
void setLabelOutlineStroke(Paint paint) 分类标签边框笔触 
void setLabelShadowPaint(Paint paint) 分类标签阴影颜色 
void setMaximumLabelWidth(double width) 分类标签的最大长度(0.0~1.0) 
void setPieIndex(int index) 饼图的索引(复合饼图中用到) 
void setSectionOutlinePaint(int section,Paint paint) 指定分类饼的边框颜色 
void setSectionOutlineStroke(int section,Stroke stroke) 指定分类饼的边框笔触 
void setSectionPaint(int section,Paint paint) 指定分类饼的颜色 
void setShadowPaint(Paint paint) 饼图的阴影颜色 
void setShadowXOffset(double offset) 饼图的阴影相对图的水平偏移 
void setShadowYOffset(double offset) 饼图的阴影相对图的垂直偏移 
void setLabelGenerator(PieSectionLabelGenerator generator) 分类标签的格式,设置成null则整个标签包括连接线都不显示 
void setToolTipGenerator(PieToolTipGenerator generator) MAP中鼠标移上的显示格式 
void setURLGenerator(PieURLGenerator generator) MAP中钻取链接格式

由于PiePlot是Plot的子类,所以还继承了Plot的类

void setBackgroundImage(Image image) 数据区的背景图片 
void setBackgroundImageAlignment(int alignment) 数据区的背景图片对齐方式(参数常量在org.jfree.ui.Align类中定义) 
void setBackgroundPaint(Paint paint) 数据区的背景图片背景色 
void setBackgroundAlpha(float alpha) 数据区的背景透明度(0.0~1.0) 
void setForegroundAlpha(float alpha) 数据区的前景透明度(0.0~1.0) 
void setDataAreaRatio(double ratio) 数据区占整个图表区的百分比 
void setOutLinePaint(Paint paint) 数据区的边界线条颜色 
void setOutLineStroke(Stroke stroke) 数据区的边界线条笔触 
void setNoDataMessage(String message) 没有数据时显示的消息 
void setNoDataMessageFont(Font font) 没有数据时显示的消息字体 
void setNoDataMessagePaint(Paint paint) 没有数据时显示的消息颜色






转载于:https://my.oschina.net/bosscheng/blog/124561

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值