`
hua04104
  • 浏览: 250826 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用JFreeChart创建3D柱状图

阅读更多
package com.cs.jfreechart;

import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

public class Bar3DChartDemo {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		//生成柱状图
		JFreeChart chart = ChartFactory.createBarChart3D (
				"图书销售统计表",     //图表标题
				"图书",             //目录轴的显示标签
				"销量",             //数值轴的显示标签
				getDateSet(),      //数据
				//PlotOrientation.HORIZONTAL, //图表方向水平
				PlotOrientation.VERTICAL,    //图表方向垂直
				true,             //是否显示图例
				false,            //是否显示工具提示
				false             //是否生成URL
		);
		//设置标题及标题字体
		chart.setTitle(new TextTitle("图书销售统计图",new Font("黑体",Font.ITALIC,22)));
		//建一个图例
		LegendTitle legendTitle = chart.getLegend(0);
		//设置图例字体
		legendTitle.setItemFont(new Font("宋体",Font.BOLD,14));
		//获取柱状图plot对象
		CategoryPlot plot = (CategoryPlot) chart.getPlot();
		//设置柱型的颜色
		plot.getRenderer().setSeriesPaint(0, Color.BLUE);
		plot.getRenderer().setSeriesPaint(1, Color.GREEN);
		plot.getRenderer().setSeriesPaint(2, Color.ORANGE);
		//取得横轴
		CategoryAxis categoryAxis = plot.getDomainAxis();
		//设置横轴的字体
		categoryAxis.setLabelFont(new Font("宋体",Font.BOLD,22));
		//设置分类标签以45度倾斜
		//categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
		//设置分类标签字体
		categoryAxis.setTickLabelFont(new Font("宋体",Font.BOLD,22));
		//取得纵轴
		NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();
		//设置纵轴的字体
		numberAxis.setLabelFont(new Font("宋体",Font.BOLD,22));
		//设置背景透明度(0~1)
		plot.setBackgroundAlpha(0.9f);
		//设置前景色透明度(0~1)
		plot.setForegroundAlpha(0.5f);
		//输出文件
		FileOutputStream fos = new FileOutputStream("book.jpg");
		//用ChartUtilities工具输出
		ChartUtilities.writeChartAsJPEG(fos, chart, 800, 600);
		fos.close();
	}
	
	private static CategoryDataset getDateSet() {
		//提供生成柱状图的数据
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		//dataset.addValue(47,"","JAVA教程");
		//dataset.addValue(23,"","c++教程");
		//dataset.addValue(20,"","C#教程");
		//dataset.addValue(10,"","VC++教程");
		
		//生成复杂带图例的柱状图
		dataset.addValue(47,"北京","JAVA教程");
		dataset.addValue(23,"北京","c++教程");
		dataset.addValue(20,"北京","C#教程");
		dataset.addValue(10,"北京","VC++教程");
		dataset.addValue(40,"天津","JAVA教程");
		dataset.addValue(20,"天津","c++教程");
		dataset.addValue(35,"天津","C#教程");
		dataset.addValue(5,"天津","VC++教程");
		dataset.addValue(30,"上海","JAVA教程");
		dataset.addValue(28,"上海","c++教程");
		dataset.addValue(22,"上海","C#教程");
		dataset.addValue(20,"上海","VC++教程");
		return dataset;
	}

}

分享到:
评论

相关推荐

    JFreeChart生成3D饼状图及柱状图

    对于3D柱状图,我们则需要使用`ChartFactory.createBarChart3D()`方法。这个方法需要图表的标题、子标题、X轴标签、Y轴标签,以及一个`CategoryDataset`对象作为输入。`CategoryDataset`可以是`...

    jfreechart 曲线图 3d饼图 3d柱状图

    创建3D柱状图,可以使用`ChartFactory.createBarChart3D()`方法。同样,你需要一个`CategoryDataset`,其中包含行标识(类别)和列标识(系列)。`CategoryPlot`的`Renderer`应设置为`BarRenderer3D`,以实现3D效果...

    jfreechart_生成折线图,饼图,柱状图,堆栈柱状图

    4. 使用 ChartFactory 创建柱状图,passing in the dataset and renderer objects. 5. 使用 ChartUtilities 将图表保存到文件中。 四、堆栈柱状图 堆栈柱状图是一种特殊的柱状图,用于显示多组数据的比较。使用 ...

    JfreeChart柱状图饼图

    4. **渲染器**:`CategoryItemRenderer`负责绘制单个系列的数据,可以通过设置不同的渲染器实现不同效果,如3D柱状图、堆叠柱状图等。 ### 三、饼图的创建 1. **数据准备**:饼图的数据模型是`PieDataset`,同样...

    JFreeChart编写柱状图和饼状图及3D饼状图方法

    要创建3D饼状图,我们可以使用`ChartFactory.createPieChart3D()`方法。这个方法的工作方式与创建普通饼状图类似,只是增加了立体效果。 ```java JFreeChart chart = ChartFactory.createPieChart3D( "3D饼状图...

    JFreeChart饼图、柱状图等

    JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的高质量图表,如饼图、柱状图、线形图、散点图等。...通过深入理解并实践"jFreeChartDemo",开发者能够熟练运用JFreeChart创建出专业且美观的数据图表。

    jfreechart生成单组3D变色柱状图

    使用`ChartFactory.createBarChart3D()`方法创建一个3D柱状图。此方法接受多个参数,包括图表标题、X轴标签、Y轴标签以及数据集等。 ```java JFreeChart chart = ChartFactory.createBarChart3D( "", // 图表标题 ...

    java使用JFreeChart制作柱形图

    使用 `JFreeChart` 的 `ChartFactory` 类,你可以通过调用 `createBarChart3D()` 方法来创建3D柱形图。这个方法需要四个参数:图表标题、X轴标签、Y轴标签以及之前创建的 `CategoryDataset`。 3. **定制图表**: ...

    JFreeChart画统计分析柱状图

    例如,要创建一个三维堆叠柱状图,可以使用`createStackedBarChart3D`方法。 ##### 4.2 自定义坐标轴 `CategoryAxis`和`ValueAxis`分别用于自定义X轴(分类轴)和Y轴(数值轴)的样式与布局。通过设置这些坐标轴的...

    JfreeChart 3D 绘图

    为了更直观地理解上述步骤,以下是一段创建3D柱状图的示例代码: ```java import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org....

    JFreeChart柱状图资料

    在JFreeChart的CHM手册中,你可以找到关于如何使用JFreeChart创建柱状图的详细步骤、API参考、示例代码以及问题解决方案。 6. **应用场景** JFreeChart的柱状图常用于商业报告、统计分析、科学实验结果展示等场景...

    Java Web应用开发 58 课堂案例-应用JFreeChart组件实现柱状图.docx

    Java Web应用开发中,JFreeChart是一个强大的图表生成库,能够帮助开发者轻松地在Web应用程序中创建各种类型的图表,如柱状图、饼图、线图等。在本课堂案例中,我们将学习如何使用JFreeChart组件来实现柱状图的绘制...

    JAVA Web程序设计-3期(KC006) 13-3应用JFreeChart组件实现柱状图的操作步骤.doc

    创建柱状图的核心在于调用`ChartFactory.createBarChart3D()`方法,如第21行所示。这个方法接受五个参数:图表标题、X轴标签、Y轴标签、数据集、以及图表的方向。在这里,我们选择垂直方向的柱状图...

    利用jFreeChart做曲线图、饼状图、柱状图

    其中:createBarChart3D方法是ChartFactory工厂类里的一个方法,用于生成3D柱状图,该类继承自JFreeChart。 3. 设置图形显示的属性: a) ValueAxis类,设置柱到图上下边的距离。实现方法是:ValueAxis rangeAxis = ...

    jfreechart实现3d饼状图

    JFreeChart是一个强大的Java图表库,它允许开发者创建多种类型的2D和3D图表,包括柱状图、饼状图、线形图、散点图等。在这个特定的案例中,我们关注的是“3D饼状图”的实现,这是一种用以展示数据比例关系的可视化...

    java绘制图表(柱状图、饼图、折线图)包 jfreechart

    你可以创建一个`CategoryDataset`对象,将数据组织成类别和值,然后使用`JFreeChart`的`createBarChart()`方法来生成柱状图。 饼图是另一种常用的数据表示形式,适合显示各部分占整体的比例。JFreeChart允许你创建...

    JFreeChart柱状图的类的封装

    除了基本的柱状图,JFreeChart还支持多种变体,如3D效果、堆叠柱状图、百分比柱状图等。对于这些更复杂的需求,可以通过调整渲染器和数据集的设置实现。 总的来说,JFreeChart提供了一套强大且灵活的API,使得...

    java实现柱状图

    Java 实现柱状图是指使用 Java 语言创建柱状图、饼状图、曲线图等图形的一种技术。通过使用 JFreeChart 库,可以轻松地创建各种类型的图形。下面将对 Java 实现柱状图的相关知识点进行详细介绍。 1. JFreeChart 库 ...

    jfreechart应用_经典例题_生成饼状图、生成单组柱状图、生成多组柱状图、生成堆积柱状图

    本篇文章将详细讲解如何利用 JFreeChart 创建不同的图表类型,包括饼状图、单组柱状图、多组柱状图以及堆积柱状图。 首先,你需要从官方网站或指定的源获取 JFreeChart 的最新版本,例如 jfreechart-1.0.13.jar,...

Global site tag (gtag.js) - Google Analytics