`

用java生成柱状图

 
阅读更多
package com.test;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;

import javax.imageio.ImageIO;

public class CreateImage {
	private static Font mFont = new Font("宋体", Font.PLAIN, 12);
	
	public static void main(String[] args){
		double[] value = {0.57d,1.25d,0.83d,1.38d,2.35d};
		createimage(value,2.35d);
	}
	
	private static void createimage(double[] value,double maxvalue){
		try{
			int ranwidth = 33,ranheight = 112;
			int width = 764, height = 168;
			BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
			Graphics g = image.getGraphics();
			g.setColor(new Color(255, 255,255));
			g.fillRect(1, 1, width - 1, height - 1);
			g.setColor(new Color(255, 255,255));
			g.drawRect(0, 0, width - 1, height - 1);
			
			g.setFont(mFont);
			g.setColor(new Color(255, 26,135));
			
			Color c = new Color(227, 227, 227);
			for(int i= 0 ;i<5;i++){
				if(i==0){
					g.setColor(c);
					g.fillRect(72, 54, 33, ranheight);
					g.setColor(c);
					g.drawRect(72, 54, 33, ranheight);
				}else{
					g.setColor(c);
					g.fillRect(72+(ranwidth+110)*i, 54, 33, ranheight);
					g.setColor(c);
					g.drawRect(72+(ranwidth+110)*i, 54, 33, ranheight);
				}
			}
			
			for(int i= 0 ;i<value.length;i++){
				Color myc = null;
				if(i == 0){
					myc = new Color(75,178,209);
				}else if(i==1){
					myc = new Color(243,152,1);
				}else if(i == 2){
					myc = new Color(90,159,105);
				}else if(i == 3){
					myc = new Color(144,130,189);
				}else{
					myc = new Color(154,190,66);
				}
				if(i==0){
					g.setColor(myc);
					g.fillRect(72, 54+(ranheight-(int)Math.round(ranheight*(value[i]/maxvalue))), 33, (int)Math.round(ranheight*(value[i]/maxvalue)));
					g.setColor(myc);
					g.fillRect(72, 54+(ranheight-(int)Math.round(ranheight*(value[i]/maxvalue))), 33, (int)Math.round(ranheight*(value[i]/maxvalue)));
				}else{
					g.setColor(myc);
					g.fillRect(72+(ranwidth+110)*i, 54+(ranheight-(int)Math.round(ranheight*(value[i]/maxvalue))), 33, (int)Math.round(ranheight*(value[i]/maxvalue)));
					g.setColor(myc);
					g.drawRect(72+(ranwidth+110)*i, 54+(ranheight-(int)Math.round(ranheight*(value[i]/maxvalue))), 33, (int)Math.round(ranheight*(value[i]/maxvalue)));
				}
			}
			
			c = new Color(181, 181, 181);
			for(int i = 0;i<5;i++){
				if(i==0){
					g.setColor(c);
					g.setFont(mFont);
					g.drawString(value[i]+"s", 72,48);
				}else{
					g.setColor(c);
					g.setFont(mFont);
					g.drawString(value[i]+"s", 72+(ranwidth+110)*i,48);
				}
			}
			
			g.dispose();
			String filename = "d:\\createimg.jpg";
			File file = new File(filename);
			if(!file.exists()){
				file.createNewFile();
			}
			FileOutputStream s = new FileOutputStream(file);
			ImageIO.write(image, "JPEG", s);
		}catch(Exception e){
			e.printStackTrace();
		}
	}

}

 

6
2
分享到:
评论

相关推荐

    Java生成柱状图

    Java生成柱状图是一种在Java应用程序中展示数据的可视化方式,尤其适用于数据分析和报告。柱状图能够清晰地比较不同类别的数据量,是数据可视化的常见选择。在这个项目中,开发者提供了一个可以直接运行的解决方案,...

    java生成柱状图、拆线图

    总结来说,Java生成柱状图和折线图主要依赖于JFreeChart库,通过创建数据集、构建图表对象以及在GUI中展示,可以轻松实现数据的可视化。JCommon库则为JFreeChart提供了基础支持。开发者可以通过学习这些库的API,...

    java调用swing生成柱状图

    在这个特定的问题中,我们需要使用Swing来创建一个图形界面,展示用户输入文件中字母的频率统计,以柱状图的形式呈现。以下是实现这一功能所需的关键知识点: 1. **Swing组件**: - `JFrame`:作为应用程序的主...

    java+jfreechart+struts 生成柱状图

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

    java实现柱状图

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

    java 生成柱状图 myeclipse完整项目实例

    Java 生成柱状图是数据可视化的一个常见需求,特别是在数据分析和报表展示中。在这个MyEclipse完整项目实例中,我们主要关注的是如何使用Java和JFreeChart库来创建柱状图。JFreeChart是一个强大的开源Java图表库,它...

    java根据动态模板生成pdf(包含柱状图)所需jar包

    java根据动态模板生成pdf(包含柱状图)所需jar包 iText+FreeMarker+JFreeChart生成可动态配置的PDF文档。 iText有很强大的PDF处理能力,但是样式和排版不好控制,直接写PDF文档,数据的动态渲染很麻烦。 FreeMarker...

    java实现向word文档中插入柱状图,并更改颜色

    这个场景涉及到在Word文档中插入图表,特别是柱状图,并且能够自定义颜色,这在数据分析、报告生成或者数据可视化中非常常见。下面我们将详细讨论如何实现这一功能。 首先,我们需要了解.docx文件的本质。实际上,...

    java 动态获取数据库信息生成word(含表格,柱状图),并下载.docx

    Java 动态生成 Word 文档(含表格、柱状图)并下载 ...在上面的示例代码中,我们使用 iText 库来设置文档的样式和内容,并使用 JFreeChart 库来生成柱状图。同时,我们还使用了 JDBC 技术来与数据库交互和获取数据。

    JAVA生成堆积图

    JFreeChart 是一个开源的Java图表库,用于生成各种类型的图表,包括折线图、柱状图、饼图、散点图等,也支持生成堆积图。它提供了丰富的API,使得开发者能够灵活地控制图表的样式、布局和数据来源。 ### 3. 使用...

    java里用JFreeChart画柱状图、折线图、雷达图

    1. **CreateBarChart.java**:这个文件包含了一个用于生成柱状图的方法。柱状图是一种常见的统计图表,通过矩形的长度或高度来表示分类变量的频数或数值变量的大小。在JFreeChart中,开发者可以使用`CategoryDataset...

    JSP调用Java Bean在网页上动态生成柱状图

    --------------------------------------------------我们经常要在网页看到一些动态更新的图片,最常见的莫过于股票的K线图,本文试图通过一个简单的实例,向大家展示如何通过JSP 调用Java Bean在网页上动态生成柱状图....

    java 实现饼状图、柱状图、折线图

    在Java编程语言中,生成数据可视化图形,如饼状图、柱状图和折线图,是数据分析和展示的关键步骤。这些图表可以帮助我们直观地理解数据分布和趋势。本篇文章将详细探讨如何使用Java实现这三种图表。 首先,饼状图...

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

    JFreeChart 是一个开源的Java库,用于生成高质量的2D图表,如折线图、饼图、柱状图和堆栈柱状图等。它广泛应用于数据分析、报告和应用程序中,提供丰富的自定义选项来满足各种视觉需求。在本项目中,你将找到能够...

    java实现图表,饼状图,柱状图,折线图,

    java实现的 生成饼状图 生成单组柱状图 生成多组柱状图 生成堆积柱状图 生成折线图 里面包括了所需要的 jcommon-1.0.12.jar jfreechart-1.0.8a.jar

    poi导出多数据柱状图图表到ppt

    总的来说,使用 Apache POI,你可以根据实际需求创建复杂且动态的柱状图,这对于数据展示和报告生成非常有用。通过深入了解 POI 的 API 和提供的示例代码,你可以轻松地将数据转化为生动直观的可视化图表。

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

    在JFreeChart中,你可以使用`CategoryDataset`来存储数据,然后创建`JFreeChart`实例,最后使用`ChartFactory.createBarChart()`方法生成柱状图。你可以自定义每个类别的标签,设置柱子的颜色,甚至添加工具提示和...

    JAVA 生成树状图及饼图

    ### 二、Java生成柱状图 #### 2.1 准备工作 同样地,在生成柱状图之前也需要确保已安装JFreeChart库。 #### 2.2 创建数据集 与饼图类似,我们首先创建一个`DefaultCategoryDataset`对象来存储柱状图的数据: ``...

    JSP调用JavaBean在网页上动态生成柱状图

    根据给定的文件信息,我们可以深入探讨如何使用JSP(JavaServer Pages)调用JavaBean在网页上动态生成柱状图。此技术在早期的Web开发中非常流行,尤其是在使用Java进行后端处理的场景下。 ### JSP与JavaBean协同...

Global site tag (gtag.js) - Google Analytics