JFreeChart使用教程(含下载、安装)(2)

2019-03-28 10:18

例如修改成:

double[][] data = newdouble[][] {{1310, 1220, 1110, 1000}, {720, 700, 680, 640}, {1130, 1020, 980, 800}, {440, 400, 360, 300}};

String[] rowKeys = {\猪肉\牛肉\鸡肉\鱼肉\String[] columnKeys = {\广州\深圳\东莞\佛山\

在运行该jsp页面,可看到如下界面:

在上述几例中,在某个柱子上都没有显示相应的数值,下面让我们为每个柱子都加上它的数值,我们新建一个sample4.jsp页面,其内容如下:

<%@ page contentType=\

<%@ page import=\t, org.jfree.chart.plot.PlotOrientation, org.jfree.chart.servlet.ServletUtilities, org.jfree.data.category.CategoryDataset, org.jfree.data.general.DatasetUtilities,

org.jfree.chart.plot.*, org.jfree.chart.labels.*,

org.jfree.chart.renderer.category.BarRenderer3D, java.awt.*,

org.jfree.ui.*, org.jfree.chart.axis.AxisLocation\<%

double[][] data = newdouble[][] {{1310, 1220, 1110, 1000}, {720, 700, 680, 640}, {1130, 1020, 980, 800}, {440, 400, 360, 300}};

String[] rowKeys = {\猪肉\牛肉\鸡肉\鱼肉\String[] columnKeys = {\广州\深圳\东莞\佛山\

CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);

JFreeChart chart = ChartFactory.createBarChart3D(\肉类销量统计图\ \肉类\ \销量\ dataset,

PlotOrientation.VERTICAL, true, true, false);

CategoryPlot plot = chart.getCategoryPlot(); //设置网格背景颜色

plot.setBackgroundPaint(Color.white); //设置网格竖线颜色

plot.setDomainGridlinePaint(Color.pink); //设置网格横线颜色

plot.setRangeGridlinePaint(Color.pink); //显示每个柱的数值,并修改该数值的字体属性

BarRenderer3D renderer = new BarRenderer3D();

renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setBaseItemLabelsVisible(true);

//默认的数字显示在柱子中,通过如下两句可调整数字的显示

//注意:此句很关键,若无此句,那数字的显示会被覆盖,给人数字没有显示出来的问题 renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT)); renderer.setItemLabelAnchorOffset(10D); //设置每个地区所包含的平行柱的之间距离 //renderer.setItemMargin(0.3); plot.setRenderer(renderer); //设置地区、销量的显示位置 //将下方的“肉类”放到上方

plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT); //将默认放在左边的“销量”放到右方

plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);

String filename = ServletUtilities.saveChartAsPNG(chart, 700, 400, null, session); String graphURL = request.getContextPath() + \%>

\

运行效果如下所示:

注意:jfreechart的很多版本不兼容,请大家在运行此例时确认下载了对应的版本。

三. 饼图

在WebRoot目录下建立名为pie的子目录,用来存放本教程中饼图的实例jsp页面。下面让我们来看一个简单的三维饼图。首先在pie目录下建立一个名为sample1.jsp的页面。

在JFreeChart中,与饼图绘制密切相关的类如下:

1) PiePlot

饼图绘制类,可以用来设置饼图的相关属性。例如:

PiePlot pieplot = (PiePlot)jfreechart.getPlot(); pieplot.setLabelFont(new Font(\pieplot.setNoDataMessage(\

pieplot.setCircular(false); pieplot.setLabelGap(0.02D);

2) DefaultPieDataset

默认的饼图数据集类,用来存储饼图显示的相关数据信息。例如:

DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue(\品德\new Double(0.2D)); dataset.setValue(\体育\new Double(0.2D)); dataset.setValue(\音乐\new Double(0.2D)); dataset.setValue(\其余成绩\new Double(0.4D));

3) ChartFactory

可利用该制图工厂类createPieChart来创建一个饼图的JFreeChart对象,例如:

JFreeChart jfreechart = ChartFactory.createPieChart(\饼图示例\dataset, true, true, false);

下面让我们看一个简单的例子,修改sample1.jsp的内容如下:

<%@ page contentType=\

<%@ page import=\

org.jfree.chart.plot.PiePlot, org.jfree.data.general.DefaultPieDataset,

org.jfree.chart.servlet.ServletUtilities, java.awt.*\


JFreeChart使用教程(含下载、安装)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:读《小橘灯》有感

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: