JFreeChart

JFreeChart目前是最好的java图形解决方案,基本能够解决目前的图形方面的需求,主要包括如下几个方面:

 

类名

作用描述

 

JFreeChart

图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象

 

XXXXXDataset

数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类。常用的数据集对象有:柱状图数据集对象DefaultCategoryDataset、饼图数据集对象DefauldPieDataset和曲线图数据集对象DefaultTableXYDataset

 

XXXXXPlot

图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要Axis、Renderer以及数据集对象的支持。常用的Plot对象有:柱状图CategoryPlot、饼图PiePlot和曲线图XYPlot。

 

XXXXXAxis

用于处理图表的两个轴:纵轴和横轴。常用的有NumberAxis数据轴,DateAxis日期轴。

 

XXXXXRenderer

负责如何显示一个图表对象。常用的Renderer有DefaultCategoryItemRenderer 柱状图显示器StandardXYItemRenderer曲线图显示器。饼图的Renderer

 

XXXXXURLGenerator

用于生成Web图表中每个项目的鼠标点击链接。常用的URLCenerator有StandardCategoryURLGenerator 
StandardPieURLGenerator 
StandardXYURLGenerator

 

XXXXXToolTipGenerator

用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类。常用的有:StandardXYToolTipGenerator
StandardCategoryToolTipGenerator
StandardPieItemLabelGenerator

 

 

 

 

 

 

 

 

 

JFreeChart类:

void setAntiAlias(boolean flag)字体模糊边界

void setBackgroundImage(Image image)背景图片

void setBackgroundImageAlignment(intalignment)背景图片对齐方式(参数常量在org.jfree.ui.Align类中定义)

void setBackgroundImageAlpha(float alpha)背景图片透明度(0.0~1.0)

void setBackgroundPaint(Paint paint)背景色

void setBorderPaint(Paint paint)边界线条颜色

void setBorderStroke(Stroke stroke)边界线条笔触

void setBorderVisible(boolean visible)边界线条是否可见

 

TextTitle类:

void setFont(Font font)标题字体

void setPaint(Paint paint)标题字体颜色

void setText(String text)标题内容

 

StandardLegend(Legend)类:

void setBackgroundPaint(Paint paint)图示背景色

void setTitle(String title)图示标题内容

void setTitleFont(Font font)图示标题字体

void setBoundingBoxArcWidth(int arcWidth)图示边界圆角宽

void setBoundingBoxArcHeight(int arcHeight)图示边界圆角高

void setOutlinePaint(Paint paint)图示边界线条颜色

void setOutlineStroke(Stroke stroke)图示边界线条笔触

void setDisplaySeriesLines(boolean flag)图示项是否显示横线(折线图有效)

void setDisplaySeriesShapes(boolean flag)图示项是否显示形状(折线图有效)

void setItemFont(Font font)图示项字体

void setItemPaint(Paint paint)图示项字体颜色

void setAnchor(int anchor)图示在图表中的显示位置(参数常量在Legend类中定义)

 

Axis类:

void setVisible(boolean flag)坐标轴是否可见

void setAxisLinePaint(Paint paint)坐标轴线条颜色(3D轴无效)

void setAxisLineStroke(Stroke stroke)坐标轴线条笔触(3D轴无效)

void setAxisLineVisible(boolean visible)坐标轴线条是否可见(3D轴无效)

void setFixedDimension(double dimension)(用于复合表中对多坐标轴的设置)

void setLabel(String label)坐标轴标题

void setLabelFont(Font font)坐标轴标题字体

void setLabelPaint(Paint paint)坐标轴标题颜色

void setLabelAngle(double angle)`坐标轴标题旋转角度(纵坐标可以旋转)

void setTickLabelFont(Font font)坐标轴标尺值字体

void setTickLabelPaint(Paint paint)坐标轴标尺值颜色

void setTickLabelsVisible(boolean flag)坐标轴标尺值是否显示

void setTickMarkPaint(Paint paint)坐标轴标尺颜色

void setTickMarkStroke(Stroke stroke)坐标轴标尺笔触

void setTickMarksVisible(boolean flag)坐标轴标尺是否显示

 

ValueAxis(Axis)类:

void setAutoRange(boolean auto)自动设置数据轴数据范围

void setAutoRangeMinimumSize(double size)自动设置数据轴数据范围时数据范围的最小跨度

void setAutoTickUnitSelection(boolean flag)数据轴的数据标签是否自动确定(默认为true)

void setFixedAutoRange(double length)数据轴固定数据范围(设置100的话就是显示MAXVALUE到MAXVALUE-100那段数据范围)

void setInverted(boolean flag)数据轴是否反向(默认为false)

void setLowerMargin(double margin)数据轴下(左)边距

void setUpperMargin(double margin)数据轴上(右)边距

void setLowerBound(double min)数据轴上的显示最小值

void setUpperBound(double max)数据轴上的显示最大值

void setPositiveArrowVisible(booleanvisible)是否显示正向箭头(3D轴无效)

void setNegativeArrowVisible(booleanvisible)是否显示反向箭头(3D轴无效)

void setVerticalTickLabels(boolean flag)数据轴数据标签是否旋转到垂直

void setStandardTickUnits(TickUnitSourcesource)数据轴的数据标签(可以只显示整数标签,需要将AutoTickUnitSelection设false)

 

NumberAxis(ValueAxis)类:

void setAutoRangeIncludesZero(boolean flag)是否强制在自动选择的数据范围中包含0

void setAutoRangeStickyZero(boolean flag)是否强制在整个数据轴中包含0,即使0不在数据范围中

void setNumberFormatOverride(NumberFormatformatter)数据轴数据标签的显示格式

void setTickUnit(NumberTickUnit unit)数据轴的数据标签(需要将AutoTickUnitSelection设false)

 

DateAxis(ValueAxis)类:

void setMaximumDate(Date maximumDate)日期轴上的最小日期

void setMinimumDate(Date minimumDate)日期轴上的最大日期

void setRange(Date lower,Date upper)日期轴范围

void setDateFormatOverride(DateFormatformatter)日期轴日期标签的显示格式

void setTickUnit(DateTickUnit unit)日期轴的日期标签(需要将AutoTickUnitSelection设false)

void setTickMarkPosition(DateTickMarkPositionposition)日期标签位置(参数常量在org.jfree.chart.axis.DateTickMarkPosition类中定义)

 

CategoryAxis(Axis)类:

void setCategoryMargin(double margin)分类轴边距

void setLowerMargin(double margin)分类轴下(左)边距

void setUpperMargin(double margin)分类轴上(右)边距

void setVerticalCategoryLabels(booleanflag)分类轴标题是否旋转到垂直

void setMaxCategoryLabelWidthRatio(floatratio)分类轴分类标签的最大宽度

 

AbstractRenderer类:

void setItemLabelAnchorOffset(doubleoffset)数据标签的与数据点的偏移

void setItemLabelsVisible(boolean visible)数据标签是否可见

void setItemLabelFont(Font font)数据标签的字体

void setItemLabelPaint(Paint paint)数据标签的字体颜色

void setItemLabelPosition(ItemLabelPositionposition)数据标签位置

voidsetPositiveItemLabelPosition(ItemLabelPosition position)正数标签位置

voidsetNegativeItemLabelPosition(ItemLabelPosition position)负数标签位置

void setOutLinePaint(Paint paint)图形边框的线条颜色

void setOutLineStroke(Stroke stroke)图形边框的线条笔触

void setPaint(Paint paint)所有分类图形的颜色

void setShape(Shape shape)所有分类图形的形状(如折线图的点)

void setStroke(Stroke stroke)所有分类图形的笔触(如折线图的线)

void setSeriesItemLabelsVisible(intseries,boolean visible)指定分类的数据标签是否可见

void setSeriesItemLabelFont(int series,Fontfont)指定分类的数据标签的字体

void setSeriesItemLabelPaint(intseries,Paint paint)指定分类的数据标签的字体颜色

void setSeriesItemLabelPosition(intseries,ItemLabelPosition position)数据标签位置

void setSeriesPositiveItemLabelPosition(intseries,ItemLabelPosition position)正数标签位置

void setSeriesNegativeItemLabelPosition(intseries,ItemLabelPosition position)负数标签位置

void setSeriesOutLinePaint(int series,Paintpaint)指定分类的图形边框的线条颜色

void setSeriesOutLineStroke(intseries,Stroke stroke)指定分类的图形边框的线条笔触

void setSeriesPaint(int series,Paint paint)指定分类图形的颜色

void setSeriesShape(int series,Shape shape)指定分类图形的形状(如折线图的点)

void setSeriesStroke(int series,Strokestroke)指定分类图形的笔触(如折线图的线)

 

AbstractCategoryItemRenderer(AbstractRenderer)类:

voidsetLabelGenerator(CategoryLabelGenerator generator)数据标签的格式

voidsetToolTipGenerator(CategoryToolTipGenerator generator)MAP中鼠标移上的显示格式

void setItemURLGenerator(CategoryURLGeneratorgenerator)MAP中钻取链接格式

void setSeriesLabelGenerator(intseries,CategoryLabelGenerator generator)指定分类的数据标签的格式

void setSeriesToolTipGenerator(intseries,CategoryToolTipGenerator generator)指定分类的MAP中鼠标移上的显示格式

void setSeriesItemURLGenerator(intseries,CategoryURLGenerator generator)指定分类的MAP中钻取链接格式

 

BarRenderer(AbstractCategoryItemRenderer)类:

void setDrawBarOutline(boolean draw)是否画图形边框

void setItemMargin(double percent)每个BAR之间的间隔

void setMaxBarWidth(double percent)每个BAR的最大宽度

void setMinimumBarLength(double min)最短的BAR长度,避免数值太小而显示不出

voidsetPositiveItemLabelPositionFallback(ItemLabelPosition position)无法在BAR中显示的正数标签位置

voidsetNegativeItemLabelPositionFallback(ItemLabelPosition position)无法在BAR中显示的负数标签位置

 

BarRenderer3D(BarRenderer)类:

void setWallPaint(Paint paint)3D坐标轴的墙体颜色

 

StackedBarRenderer(BarRenderer)类:

没有特殊的设置

 

StackedBarRenderer3D(BarRenderer3D)类:

没有特殊的设置

 

GroupedStackedBarRenderer(StackedBarRenderer)类:

void setSeriesToGroupMap(KeyToGroupMap map)将分类自由的映射成若干个组(KeyToGroupMap.mapKeyToGroup(series,group))

 

LayeredBarRenderer(BarRenderer)类:

void setSeriesBarWidth(int series,doublewidth)设定每个分类的宽度(注意设置不要使某分类被覆盖)

 

WaterfallBarRenderer(BarRenderer)类:

void setFirstBarPaint(Paint paint)第一个柱图的颜色

void setLastBarPaint(Paint paint)最后一个柱图的颜色

void setPositiveBarPaint(Paint paint)正值柱图的颜色

void setNegativeBarPaint(Paint paint)负值柱图的颜色

 

IntervalBarRenderer(BarRenderer)类:

需要传IntervalCategoryDataset作为数据源

 

GanttBarRenderer(IntervalBarRenderer)类:

void setCompletePaint(Paint paint)完成进度颜色

void setIncompletePaint(Paint paint)未完成进度颜色

void setStartPercent(double percent)设置进度条在整条中的起始位置(0.0~1.0)

void setEndPercent(double percent)设置进度条在整条中的结束位置(0.0~1.0)

 

StatisticBarRenderer(BarRenderer)类:

需要传StatisticCategoryDataset作为数据源

 

LineAndShapeRenderer(AbstractCategoryItemRenderer)类:

void setDrawLines(boolean draw)是否折线的数据点之间用线连

void setDrawShapes(boolean draw)是否折线的数据点根据分类使用不同的形状

void setShapesFilled(boolean filled)所有分类是否填充数据点图形

void setSeriesShapesFilled(intseries,boolean filled)指定分类是否填充数据点图形

void setUseFillPaintForShapeOutline(booleanuse)指定是否填充数据点的Paint也被用于画数据点形状的边框

 

LevelRenderer(AbstractCategoryItemRenderer)类:

void setItemMargin(double percent)每个分类之间的间隔

void setMaxItemWidth(double percent)每个分类的最大宽度

 

CategoryStepRenderer(AbstractCategoryItemRenderer)类:

void setStagger(boolean shouldStagger)不同分类的图是否交错

 

MinMaxCategoryRenderer(AbstractCategoryItemRenderer)类:

void setDrawLines(boolean drawLines)是否在每个分类线间画连接线

void setGroupPaint(Paint groupPaint)一组图形连接线的颜色

void setGroupStroke(Stroke groupStroke)一组图形连接线的笔触

void setMaxIcon(Icon maxIcon)最大值的ICON

void setMinIcon(Icon minIcon)最小值的ICON

void setObjectIcon(Icon objectIcon)所有值的ICON

 

AreaRender(AbstractCategoryItemRenderer)类:

没有特殊的设置

 

StackedAreaRender(AreaRender)类:

没有特殊的设置

 

 JFreeChart核心类库介绍:

核心类主要有:

 

org.jfree.chart.JFreeChart:图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象

 

org.jfree.data.category.XXXDataSet:数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类

 

org.jfree.chart.plot.XXXPlot:图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要Axis、Renderer以及数据集对象的支持

 

org.jfree.chart.axis.XXXAxis:用于处理图表的两个轴:纵轴和横轴

 

org.jfree.chart.render.XXXRender:负责如何显示一个图表对象

 

org.jfree.chart.urls.XXXURLGenerator:用于生成Web图表中每个项目的鼠标点击链接

 

XXXXXToolTipGenerator:用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值