0 0

jfreechart 柱状图 显示5

  柱状图显示可以显示数字,,如何显示百分数呢??
2013年8月23日 10:54

3个答案 按时间排序 按投票排序

0 0

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Paint;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import javax.swing.JPanel;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.ui.TextAnchor;

public class BarChartDemo1 extends ApplicationFrame {
	static class CustomBarRenderer3D extends BarRenderer3D {
		public Paint getItemPaint(int i, int j) {
			CategoryDataset categorydataset = getPlot().getDataset();
			double d = categorydataset.getValue(i, j).doubleValue();
			if (d >= 0.69999999999999996D)
				return Color.green;
			else
				return Color.red;
		}

		public CustomBarRenderer3D() {
		}
	}

	public BarChartDemo1(String s) {
		super(s);
		CategoryDataset categorydataset = createDataset();
		JFreeChart jfreechart = createChart(categorydataset);
		ChartPanel chartpanel = new ChartPanel(jfreechart);
		chartpanel.setPreferredSize(new Dimension(500, 270));
		setContentPane(chartpanel);
	}

	private static CategoryDataset createDataset() {
		DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
		defaultcategorydataset.addValue(0.77000000000000002D, "Series 1",
				"Robert");
		defaultcategorydataset.addValue(0.93000000000000005D, "Series 2",
				"Robert");// +"Mary"
		defaultcategorydataset.addValue(0.58999999999999997D, "Series 1",
				"John");
		defaultcategorydataset.addValue(0.75D, "Series 1", "Ellen");
		defaultcategorydataset.addValue(0.63D, "Series 1", "Jack");
		defaultcategorydataset.addValue(0.94999999999999996D, "Series 1",
				"David");
		defaultcategorydataset.addValue(0.70999999999999996D, "Series 1",
				"Mark");
		defaultcategorydataset.addValue(0.65000000000000002D, "Series 1",
				"Andy");
		return defaultcategorydataset;
	}

	private static JFreeChart createChart(CategoryDataset categorydataset) {
		JFreeChart jfreechart = ChartFactory.createBarChart3D("Student Grades",
				"Students", "Grade", categorydataset, PlotOrientation.VERTICAL,
				false, true, false);
		CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
		CustomBarRenderer3D custombarrenderer3d = new CustomBarRenderer3D();
		DecimalFormat df = new DecimalFormat("0.00%");
		custombarrenderer3d
				.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator(
						"{2}", df));
		custombarrenderer3d.setItemLabelAnchorOffset(10D);
		custombarrenderer3d
				.setBasePositiveItemLabelPosition(new ItemLabelPosition(
						ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
		categoryplot.setRenderer(custombarrenderer3d);

		custombarrenderer3d.setBaseItemLabelsVisible(true);
		custombarrenderer3d.setMaximumBarWidth(0.050000000000000003D);

		NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
		numberaxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
		numberaxis.setUpperMargin(0.10000000000000001D);
		return jfreechart;
	}

	public static JPanel createDemoPanel() {
		JFreeChart jfreechart = createChart(createDataset());
		return new ChartPanel(jfreechart);
	}

	public static void main(String args[]) {
		BarChartDemo1 barchart3ddemo4 = new BarChartDemo1("3D Bar Chart Demo 1");
		barchart3ddemo4.pack();
		RefineryUtilities.centerFrameOnScreen(barchart3ddemo4);
		barchart3ddemo4.setVisible(true);
	}
}

2013年8月23日 14:33
0 0

请参考
http://blog.csdn.net/linnaeus/article/details/5242699

2013年8月23日 13:44
0 0

参考
http://blog.csdn.net/coolarmy/article/details/741374

2013年8月23日 11:13

相关推荐

    jfreechart 绘制横向立体柱状图

    利用jfreechart绘制的横向立体柱状图,横坐标是数值,纵坐标是数据分类,需要提前引入jfreechart包文件到工程里,才不会报错

    java使用JFreeChart制作柱形图

    Java 使用 JFreeChart 创建柱形图是一种常见的数据可视化方法,尤其在数据分析和Web应用程序中。JFreeChart 是一个强大的开源库,它提供了多种图表类型,包括柱形图、饼图、线图等,使得开发者能够方便地将数据转化...

    jfreechart 堆栈柱状图跟折线图结合拼接

    jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707

    自定义JFreeChart柱状图的详细说明

    综上所述,自定义JFreeChart柱状图涉及了数据准备、渲染器配置、外观调整、标签和提示信息等多个方面。通过深入理解这些知识点,开发者可以创建出满足各种需求的个性化柱状图。提供的文件如"JFreeChart中柱状图的...

    java制作jfreechart柱状图 饼状图 折线图

    Java中的JFreeChart库是一个强大的工具,用于生成各种类型的图表,包括柱状图、饼状图和折线图。在本教程中,我们将深入探讨如何使用JFreeChart创建这些图表,以及如何用随机生成的数据作为数据源。 首先,...

    JFreeChart画图 饼状图 单组柱状图 多组柱状图 堆积柱状图 折线图

    JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...

    JFreeChart 折线、柱状组合图

    public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--begin 维优特例 --> ...

    JFreeChart动态加载柱状图

    JFreeChart创建柱状图,之前网上很多都是创建柱状图的,静态的。数据更新之后柱状图随之改变,代码实现详见附件代码。所需要的jar包是jfreechart-1.0.13.jar,gnujaxp.jar,jcommon-1.0.16.jar

    jfreechart实现柱状图排序

    根据提供的信息,我们可以总结出以下关于使用 JFreeChart 实现柱状图排序的相关知识点: ### 一、背景介绍 在日常的数据分析与展示工作中,柱状图是非常常见的一种图表类型,它能直观地显示不同类别之间的数值差异...

    JfreeChart柱状图饼图

    **JFreeChart——柱状图与饼图详解** 在Java编程中,JFreeChart库是一个强大的图表绘制工具,它能够帮助开发者创建出多种类型的图表,包括柱状图、饼图等,广泛应用于数据分析和可视化展示。这篇博文中,我们将深入...

    java+jfreechart+struts 生成柱状图

    java+jfreechart+struts 生成柱状图 java jfreechart 柱状图 java jfreechart 柱状图 谁需要完整项目可以去http://download.csdn.net/source/2665347

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

    JFreeChart是一个流行的Java库,用于生成各种类型的图表,包括折线图、饼图和柱状图,甚至堆栈柱状图。这个压缩包中的"CreateChartServiceImpl.java"文件很可能包含了一个实现这些功能的服务类。 首先,我们要理解...

    JFreeChart让单组柱子显示不同的颜色的办法

    当我们需要创建一个柱状图,并且希望在同一组数据中,每根柱子显示不同的颜色时,JFreeChart提供了灵活的配置方式来实现这一需求。下面我们将详细探讨如何利用JFreeChart让单组柱子显示不同的颜色。 首先,我们需要...

    jfreechart 柱状图、曲线图、饼图经

    JFreeChart是一款强大的Java图形库,它为开发者提供了丰富的图表类型,包括柱状图、曲线图和饼图等,使得在Java应用中展示数据变得更加直观和美观。在本篇文章中,我们将深入探讨如何利用JFreeChart来创建这些图表,...

    jfreechart柱状图

    **JFreeChart 柱状图** JFreeChart 是一个流行的开源 Java 图形库,它提供了丰富的图表类型,包括柱状图、饼图、线图、散点图等,广泛应用于数据分析、报告生成以及可视化应用中。这个压缩包提供的源代码示例,展示...

    JFreeChart柱状图资料

    创建柱状图需要几个步骤:首先,你需要创建一个`CategoryDataset`对象,存储你要显示的数据;然后,用`CategoryPlot`作为图表的主要部分,设置X轴和Y轴;接着,使用`CategoryAxis`和`ValueAxis`定义轴的标签和范围...

    jfreechart 图形折线,饼图,柱状图等

    JFreeChart 是一个广泛使用的开源 Java 图形库,它允许开发人员轻松地创建各种图表,包括折线图、饼图和柱状图。这个库为 Java 应用程序提供了丰富的图表功能,适用于数据可视化的需求,无论是简单的报告还是复杂的...

Global site tag (gtag.js) - Google Analytics