您的位置:首页 > 编程语言 > Java开发

Java:JfreeChart一些重要的函数

2015-11-09 10:20 323 查看
*/ class DataGenerator extends Timer implements ActionListener {

private static final long serialVersionUID =3977867288743720505L;

public void actionPerformed(ActionEventactionevent) {

cpuValue1 = 100;

cpuValue2 = 100;

cpuValue3 = 100;

double d1 = Math.random();

cpuValue1 = cpuValue1 * d1;

//cpuValue1 += 10;

double d2 = Math.random();

cpuValue2 = cpuValue2 * d2;

double d3 = Math.random();

cpuValue3 = cpuValue3 * d3;

addcpu1Observation(cpuValue1);

addcpu2Observation(cpuValue2);

addcpu3Observation(cpuValue3);

}

DataGenerator() {

super(100, null);

addActionListener(this); } }

public abc() {

cpu1= new TimeSeries("处理器1", org.jfree.data.time.Millisecond.class);//增加一条走势曲线 //cpu1.setHistoryCount(2000); //---比方法在新版本中的TimeSeries类中不存在 cpu2 =new TimeSeries("处理器2", Millisecond.class); //free.setHistoryCount(2000); //---比方法在新版本中的TimeSeries类中不存在 cpu3
=new TimeSeries("处理器3", Millisecond.class); TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();//将所有走势曲线加入到时间条中 timeseriescollection.addSeries(cpu1);timeseriescollection.addSeries(cpu2); timeseriescollection.addSeries(cpu3); //创建JFreeChart对象
JFreeChart jfreechart =ChartFactory.createTimeSeriesChart("处理器利用率", "时间","值", timeseriescollection, true, true, true); //设置图表样式 XYPlot xyplot = jfreechart.getXYPlot();



*/ class DataGenerator extends Timer implements ActionListener { private static final long serialVersionUID =3977867288743720505L; public voidactionPerformed(ActionEvent actionevent) { cpuValue1 = 100; cpuValue2 = 100;cpuValue3 = 100; double d1 =Math.random();
cpuValue1 = cpuValue1 * d1; //cpuValue1 += 10; double d2 = Math.random(); cpuValue2 =cpuValue2 * d2; double d3 = Math.random(); cpuValue3 = cpuValue3 * d3;addcpu1Observation(cpuValue1); addcpu2Observation(cpuValue2);addcpu3Observation(cpuValue3); } DataGenerator()
{ super(100, null); addActionListener(this); } } public abc() { cpu1 = newTimeSeries("处理器1", org.jfree.data.time.Millisecond.class);//增加一条走势曲线 //cpu1.setHistoryCount(2000); //---比方法在新版本中的TimeSeries类中不存在 cpu2 =new TimeSeries("处理器2", Millisecond.class); //free.setHistoryCount(2000);
//---比方法在新版本中的TimeSeries类中不存在 cpu3 =new TimeSeries("处理器3", Millisecond.class); TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();//将所有走势曲线加入到时间条中 timeseriescollection.addSeries(cpu1);timeseriescollection.addSeries(cpu2); timeseriescollection.addSeries(cpu3);
//创建JFreeChart对象 JFreeChart jfreechart =ChartFactory.createTimeSeriesChart("处理器利用率", "时间","值", timeseriescollection, true, true, true); //设置图表样式 XYPlot xyplot = jfreechart.getXYPlot();



xyplot.setOutlinePaint(Color.CYAN);//设置数据区的边界线条颜色

ValueAxis valueaxis =xyplot.getDomainAxis(); //

valueaxis.setAutoRange(true); //自动设置数据轴数据范围valueaxis.setFixedAutoRange(10000D);//设置时间轴显示的数据

valueaxis = xyplot.getRangeAxis();

valueaxis.setRange(0.0D, 100D);//数据轴固定数据范围(设置100的话就是显示MAXVALUE到MAXVALUE-100那段数据范围) //

valueaxis.setAutoRange(true);

valueaxis.setVisible(true);//设置是否显示数据轴 //设置曲线图面版

ChartPanel chartpanel = newChartPanel(jfreechart); chartpanel.setPopupMenu(null); ChartPanel chartpanel1 = new ChartPanel(jfreechart);chartpanel1.setPopupMenu(null); getContentPane().add(chartpanel);getContentPane().add(chartpanel1); (new DataGenerator()).start();
} private void addcpu1Observation(double d) {cpu1.add(new Millisecond(), d); } private void addcpu2Observation(double d) { cpu2.add(new Millisecond(),d); } private voidaddcpu3Observation(double d) { cpu3.add(new Millisecond(), d); } }



呵呵,忙了二天终于搞定了这么个简单的例子.希望大家共同学习.多多提意见. 其它与JfreeChart相关设置的类和方法

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)类:

voidsetBackgroundPaint(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) 坐标轴是否可见

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

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

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

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

void setLabel(String label) 坐标轴标题

voidsetLabelFont(Font font) 坐标轴标题字体

voidsetLabelPaint(Paint paint) 坐标轴标题颜色

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

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

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

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

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

voidsetTickMarkStroke(Stroke stroke) 坐标轴标尺笔触

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

ValueAxis(Axis)类:

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

void setAutoRangeMinimumSize(double size) 自动设置数据轴数据范围时数据范围的最小跨度 voidsetAutoTickUnitSelection(boolean flag) 数据轴的数据标签是否自动确定(默认为true) voidsetFixedAutoRange(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(boolean visible)

是否显示正向箭头(

3D

轴无效)



void setNegativeArrowVisible(boolean visible)

是否显示反向箭头(

3D

轴无效)



void setVerticalTickLabels(boolean flag)

数据轴数据标签是否旋转到垂直



void setStandardTickUnits(TickUnitSource source)

数据轴的数据标签(可以只显示整数标

签,需要将

AutoTickUnitSelection



false





NumberAxis(ValueAxis)

类:



void setAutoRangeIncludesZero(boolean flag)

是否强制在自动选择的数据范围中包含

0

void setAutoRangeStickyZero(boolean flag)

是否强制在整个数据轴中包含

0

,即使

0

不在数

据范围中



void setNumberFormatOverride(NumberFormat formatter)

数据轴数据标签的显示格式



void

setTickUnit(NumberTickUnit

unit)

数据轴的数据标签(需要将

AutoTickUnitSelection



false





DateAxis(ValueAxis)

类:



void setMaximumDate(Date maximumDate)

日期轴上的最小日期



void setMinimumDate(Date minimumDate)

日期轴上的最大日期



void setRange(Date lower

,Date upper)

日期轴范围



void setDateFormatOverride(DateFormat formatter)

日期轴日期标签的显示格式



void

setTickUnit(DateTickUnit

unit)

日期轴的日期标签(需要将

AutoTickUnitSelection



false





void

setTickMarkPosition(DateTickMarkPosition

position)

























org.jfree.chart.axis.DateTickMarkPosition

类中定义)



CategoryAxis(Axis)

类:



void setCategoryMargin(double margin)

分类轴边距



void setLowerMargin(double margin)

分类轴下(左)边距



void setUpperMargin(double margin)

分类轴上(右)边距



void setVerticalCategoryLabels(boolean flag)

分类轴标题是否旋转到垂直



void setMaxCategoryLabelWidthRatio(float ratio)

分类轴分类标签的最大宽度



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)

没有数据时显示的消息颜色



CategoryPlot(Plot)

类:



void setDataset(CategoryDataset dataset)

数据区的

2

维数据表



void setColumnRenderingOrder(SortOrder order)

数据分类的排序方式



void

setAxisOffset(RectangleInsets

args)





















void

setOrientation(PlotOrientation

orientation)

数据区的方向(

PlotOrientation.HORIZONTAL



PlotOrientation.VERTICAL





void setDomainAxis(CategoryAxis axis)

数据区的分类轴



void

setDomainAxisLocation(AxisLocation

location)

























org.jfree.chart.axis.AxisLocation

类中定义)



void setDomainGridlinesVisible(boolean visible)

分类轴网格是否可见



void setDomainGridlinePaint(Paint paint)

分类轴网格线条颜色



void setDomainGridlineStroke(Stroke stroke)

分类轴网格线条笔触



void setRangeAxis(ValueAxis axis)

数据区的数据轴



void

setRangeAxisLocation(AxisLocation

location)

























org.jfree.chart.axis.AxisLocation

类中定义)



void setRangeGridlinesVisible(boolean visible)

数据轴网格是否可见



void setRangeGridlinePaint(Paint paint)

数据轴网格线条颜色



void setRangeGridlineStroke(Stroke stroke)

数据轴网格线条笔触



void setRenderer(CategoryItemRenderer renderer)

数据区的表示者(详见

Renderer

组)



void addAnnotation(CategoryAnnotation annotation)

给数据区加一个注释



void addRangeMarker(Marker marker

,Layer layer)

给数据区加一个数值范围区域



PiePlot(Plot)

类:



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

中钻取链接格式



PiePlot3D(PiePlot)

类:



void setDepthFactor(double factor) 3D

饼图的

Z

轴高度(

0.0



1.0





MultiplePiePlot(Plot)

类:



void setLimit(double limit)

每个饼图之间的数据关联(详细比较复杂)





void setPieChart(JFreeChart pieChart)

每个饼图的显示方式

(见

JFreeChart

类个

PiePlot

类)



AbstractRenderer

类:



void setItemLabelAnchorOffset(double offset)

数据标签的与数据点的偏移



void setItemLabelsVisible(boolean visible)

数据标签是否可见



void setItemLabelFont(Font font)

数据标签的字体



void setItemLabelPaint(Paint paint)

数据标签的字体颜色



void setItemLabelPosition(ItemLabelPosition position)

数据标签位置



void setPositiveItemLabelPosition(ItemLabelPosition position)

正数标签位置



void setNegativeItemLabelPosition(ItemLabelPosition position)

负数标签位置



void setOutLinePaint(Paint paint)

图形边框的线条颜色



void setOutLineStroke(Stroke stroke)

图形边框的线条笔触



void setPaint(Paint paint)

所有分类图形的颜色



void setShape(Shape shape)

所有分类图形的形状(如折线图的点)



void setStroke(Stroke stroke)

所有分类图形的笔触(如折线图的线)



void setSeriesItemLabelsVisible(int series,boolean visible)

指定分类的数据标签是否可见



void setSeriesItemLabelFont(int series,Font font)

指定分类的数据标签的字体



void setSeriesItemLabelPaint(int series,Paint paint)

指定分类的数据标签的字体颜色



void setSeriesItemLabelPosition(int series,ItemLabelPosition position)

数据标签位置



void setSeriesPositiveItemLabelPosition(int series,ItemLabelPosition position)

正数标签位





void

setSeriesNegativeItemLabelPosition(int

series,ItemLabelPosition

position)

负数标签

位置



void setSeriesOutLinePaint(int series,Paint paint)

指定分类的图形边框的线条颜色



void setSeriesOutLineStroke(int series,Stroke stroke)

指定分类的图形边框的线条笔触



void setSeriesPaint(int series,Paint paint)

指定分类图形的颜色



void setSeriesShape(int series,Shape shape)

指定分类图形的形状(如折线图的点)



void setSeriesStroke(int series,Stroke stroke)

指定分类图形的笔触(如折线图的线)





AbstractCategoryItemRenderer(AbstractRenderer)

类:



void setLabelGenerator(CategoryLabelGenerator generator)

数据标签的格式



void setToolTipGenerator(CategoryToolTipGenerator generator) MAP

中鼠标移上的显示格





void setItemURLGenerator(CategoryURLGenerator generator) MAP

中钻取链接格式



void setSeriesLabelGenerator(int series,CategoryLabelGenerator generator)

指定分类的数

据标签的格式



void setSeriesToolTipGenerator(int series,CategoryToolTipGenerator generator)

指定分类



MAP

中鼠标移上的显示格式



void setSeriesItemURLGenerator(int series,CategoryURLGenerator generator)

指定分类的

MAP

中钻取链接格式



BarRenderer(AbstractCategoryItemRenderer)

类:



void setDrawBarOutline(boolean draw)

是否画图形边框



void setItemMargin(double percent)

每个

BAR

之间的间隔



void setMaxBarWidth(double percent)

每个

BAR

的最大宽度



void setMinimumBarLength(double min)

最短的

BAR

长度,避免数值太小而显示不出



void

setPositiveItemLabelPositionFallback(ItemLabelPosition

position)

无法在

BAR

中显示

的正数标签位置



void setNegativeItemLabelPositionFallback(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,double width)

设定每个分类的宽度(注意设置不要使某

分类被覆盖)



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(int series,boolean filled)

指定分类是否填充数据点图形



void

setUseFillPaintForShapeOutline(boolean

use)

指定是否填充数据点的

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)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: