java 柱状图_java实现柱状图 | 学步园

该程序展示了如何使用Java生成渐变柱状图。通过创建一个简单的Java应用,作者用代码绘制了柱状图,并调整了颜色。尽管认为Matlab可以更简单地完成这个任务,但此代码作为了解Java图形绘制的一个示例。
摘要由CSDN通过智能技术生成

这个程序没有任何的使用价值,起码我这么认为,因为malab应付这个任务

* 也就两行的代码就搞定了,写这个代码的目的完全是因为我们组里面他们写了个程序

* 生成一个渐变的柱状图,我就是好奇的想写一写

生成的结果可以看下图片效果,具体柱状图的颜色我没有特别细腻的调,将就看一下效果

405b3cb239c6ac70863885cb1bbf03d9.png

代码如下:

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Toolkit;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import javax.imageio.ImageIO;

public class a

{

public static void main(String[] argv)

{

new create_img();

}

}

class create_img

{

public create_img()

{

try

{

Font myfont = new Font("宋体", Font.ITALIC, 22);

float []number = {0,0,0,0,0,0,0,0,0,0};

for(int i=0;i<10;i++)

{

number[i] = i+1;

}

int max = 10;

Toolkit tk = Toolkit.getDefaultToolkit();

//得到屏幕的长和宽

int width = (int)tk.getScreenSize().getWidth();

int height = (int)tk.getScreenSize().getHeight();

//图像大小

BufferedImage image = new BufferedImage(width/2, height/2,BufferedImage.TYPE_INT_BGR);

Graphics g = image.getGraphics();

g.setColor(new Color(255, 255,255));

g.fillRect(1, 1, width/2 - 1, height/2 - 1);

g.setColor(new Color(255, 255,255));

g.drawRect(0, 0, width/2 - 1, height/2 - 1);

g.setFont(myfont);

g.setColor(new Color(255, 26,135));

Color c = new Color(227, 227, 227);

for(int i=0;i

{

//10个柱状图外壳

g.setColor(c);

g.fillRect(72+(33+40)*i, 54, 33, 133);

g.setColor(c);

g.drawRect(72+(33+40)*i, 54, 33, 133);

Color myc = null;

//颜色数组

myc= new Color(10+20*i,10,20*i);

g.setColor(myc);

//颜色柱状图

g.fillRect(72+(33+40)*i, 54+(133-(int)Math.round(133*(number[i]/max))), 33, (int)Math.round(133*(number[i]/max)));

g.setColor(myc);

g.drawRect(72+(33+40)*i, 54+(133-(int)Math.round(133*(number[i]/max))), 33, (int)Math.round(133*(number[i]/max)));

}

c = new Color(181, 181, 181);

//10个柱状图的顶端zifuchuan

for(int i = 0;i

if(i==0){

g.setColor(c);

g.setFont(myfont);

g.drawString(number[i]+"s", 72,48);

}else{

g.setColor(c);

g.setFont(myfont);

g.drawString(number[i]+"s", 72+(33+40)*i,48);

}

}

//释放图像所包含的资源

g.dispose();

String filename = "D:\\1.jpg";

File file = new File(filename);

if(!file.exists())

{

file.createNewFile();

}

//将图片数据流写入到文件中

FileOutputStream s = new FileOutputStream(file);

ImageIO.write(image, "JPEG", s);

}catch(IOException e)

{

e.printStackTrace();

}

}

}

自认为注释还是比较清楚的!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值