柱状图高级特性
BarRenderer3D renderer = new BarRenderer3D();
renderer.setBaseOutlinePaint(Color.BLACK);
//设置 Wall 的颜色
renderer.setWallPaint(Color.gray);
//设置每种水果代表的柱的颜色
renderer.setSeriesPaint(0, new Color(0, 0, 255));
renderer.setSeriesPaint(1, new Color(0, 100, 255));
renderer.setSeriesPaint(2, Color.GREEN);
//设置每种水果代表的柱的 Outline 颜色
renderer.setSeriesOutlinePaint(0, Color.BLACK);
renderer.setSeriesOutlinePaint(1, Color.BLACK);
renderer.setSeriesOutlinePaint(2, Color.BLACK);
//设置每个地区所包含的平行柱的之间距离
renderer.setItemMargin(0.1);
//显示每个柱的数值,并修改该数值的字体属性
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelFont(new Font("黑体",Font.PLAIN,12));
renderer.setItemLabelsVisible(true);
完整范例
前面都是一些代码片段,现在把这些片段组合成一个完整范例。
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.awt.Color,
java.awt.Font,
org.jfree.chart.ChartFactory,
org.jfree.chart.JFreeChart,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.CategoryDataset,
org.jfree.data.DatasetUtilities,
org.jfree.chart.plot.CategoryPlot,
org.jfree.chart.axis.CategoryAxis,
org.jfree.chart.axis.Axis,
org.jfree.chart.renderer.BarRenderer3D,
org.jfree.chart.labels.StandardCategoryItemLabelGenerator,
org.jfree.chart.axis.AxisLocation"%>
<%
double[][] data = new double[][] {{672, 766, 223, 540, 126},{325, 521, 210, 340, 106},{332, 256, 523, 240, 526}};
String[] rowKeys = {"苹果","梨子","葡萄"};
String[] columnKeys = {"北京","上海","广州","成都","深圳"};
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
JFreeChart chart = ChartFactory.createBarChart3D("水果销量图统计",
null,
null,
dataset,
PlotOrientation.VERTICAL,
true,false,false);
chart.setBackgroundPaint(Color.WHITE);
CategoryPlot plot = chart.getCategoryPlot();
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setVerticalCategoryLabels(false);
plot.setDomainAxis(domainAxis);
Axis rangeAxis = plot.getRangeAxis();
//设置最高的一个 Item 与图片顶端的距离
rangeAxis.setUpperMargin(0.15);
//设置最低的一个 Item 与图片底端的距离
rangeAxis.setLowerMargin(0.15);
plot.setRangeAxis(rangeAxis);
BarRenderer3D renderer = new BarRenderer3D();
renderer.setBaseOutlinePaint(Color.BLACK);
//设置 Wall 的颜色
renderer.setWallPaint(Color.gray);
//设置每种水果代表的柱的颜色
renderer.setSeriesPaint(0, new Color(0, 0, 255));
renderer.setSeriesPaint(1, new Color(0, 100, 255));
renderer.setSeriesPaint(2, Color.GREEN);
//设置每个地区所包含的平行柱的之间距离
renderer.setItemMargin(0.1);
//显示每个柱的数值,并修改该数值的字体属性
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelsVisible(true);
plot.setRenderer(renderer);
//设置柱的透明度
plot.setForegroundAlpha(0.6f);
//设置地区、销量的显示位置
plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%s>
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
分享到:
相关推荐
以下是JFreeChart中一些重要的知识点: 1. **图表类型**:JFreeChart支持多种图表类型,如折线图(LineChart)、柱状图(BarChart)、饼图(PieChart)、散点图(ScatterPlot)、面积图(AreaChart)等。每个图表...
3. **jfreechart-devel.jar**(可能包含在压缩包中):这个文件通常包含了一些开发版本或者实验性的特性,可能不适用于生产环境,但对开发者进行功能测试和扩展有帮助。 4. **jodatime.jar**(可能包含在压缩包中)...
标签 "源码" 暗示 JFreeChart 是一个可以查看和修改源代码的项目,这对于开发者来说是一个重要的特性,因为它允许他们深入理解其内部工作原理,根据需求进行定制,或者修复可能存在的问题。"工具" 标签则表明 ...
3. **交互性**:JFreeChart 提供了一些交互功能,如点击图表元素获取详细信息,或通过鼠标操作进行缩放和拖动,增强了用户体验。 4. **动态更新**:可以实时更新图表数据,适应数据流或者实时数据的展示需求。 5. ...
解压缩文件后,通过阅读和运行代码,你可以看到如何实际操作这些步骤,并理解如何根据自己的需求调整图表的各种特性。 JFreeChart的灵活性使得它能够处理复杂的数据可视化需求,而且它的API设计相对直观,便于...
以下是一些使用 JFreeChart 进行报表开发的关键步骤: 1. **数据准备**:首先,你需要整理并准备数据源,这可以是数据库、CSV 文件、XML 或其他数据结构。 2. **选择图表类型**:根据数据特性和报表目的,选择合适...
**JFreeChart 1.0.19:Java平台上的高效图表库** JFreeChart 是一个功能丰富的开源Java类库,专为在Java应用程序和Web应用中创建各种类型的图表而设计。这个库提供了广泛的数据可视化功能,包括折线图、柱状图、...
**主要功能与特性** 1. **多类型图表支持**:JFreeChart支持多种图表类型,包括线图、柱状图、饼图、面积图、甘特图、雷达图、3D图表等,满足不同场景下的需求。 2. **自定义性**:用户可以根据需要自定义图表的...
**JFreeChart核心特性** 1. **图表类型丰富**:JFreeChart支持多种图表类型,满足数据分析和可视化的需求。例如,线性图用于展示趋势,柱状图用于比较数值,饼图用于展示比例,甘特图用于项目管理等。 2. **自定义...
本文将深入探讨FusionCharts的核心特性、优势以及如何在不同平台上应用。 一、FusionCharts简介 FusionCharts是一款基于JavaScript的图表库,它支持多种浏览器和操作系统,包括Windows、Mac、Linux等。通过使用XML...
**JFreeChart的主要特性** 1. **多样化的图表类型**:支持2D和3D的多种图表,包括折线图、柱状图、饼图、散点图、面积图、雷达图等。 2. **高度可定制**:提供丰富的API用于调整图表元素,如轴、图例、数据系列的...
通过阅读和运行这些代码,你可以快速掌握JFreeChart的基本操作和高级特性。同时,源码集中的注释也是理解代码逻辑的关键。 总的来说,"JFreeChart范例源码集"是Java开发人员学习和提升图表绘制技能的宝贵资源,无论...
**一、JFreeChart的主要特性** 1. **多样的图表类型**:JFreeChart 支持多种图表,满足各种数据展示需求。 - 饼图:显示各部分占总体的比例关系。 - 折线图:展现数据随时间变化的趋势。 - 柱状图:比较不同类别...
这仅为JFreeChart强大功能的冰山一角,更多高级特性和定制选项有待开发者进一步探索。 #### 结语 通过在Eclipse中集成JFreeChart,开发者能够充分利用其丰富的图表类型和自定义功能,实现数据的有效可视化。无论是...
以下是一些使用JFreeChart的关键知识点: 1. **创建图表**: 要创建一个图表,你需要先定义一个`ChartFactory`,然后调用对应的静态方法,例如`ChartFactory.createBarChart()`创建柱状图,`ChartFactory....
在"jfreechart_demo.zip"中,可能包含了一些演示如何创建这些图表的Java类。 1. **柱状图(Bar Chart)**:柱状图用于比较类别之间的数量差异,JFreeChart提供了创建垂直和水平柱状图的选项。开发者可以通过设置...
**JFreeChart 的主要特性** 1. **多样的图表类型**:JFreeChart 支持多种图表类型,满足不同数据可视化需求。 2. **高度可定制化**:你可以自定义图表的颜色、字体、标签、图例等,以适应特定的设计风格。 3. **...
##### 2.2 主要特性 - **易于理解的API设计**:所有接口实现都经过精心设计,确保易于理解和使用。 - **图像导出**:支持PNG、JPEG等多种图像格式的导出,也可通过集成第三方库(如iText或Batik)支持PDF和SVG格式...