利用 Java 2D 畫柱形圖

jopen 12年前發布 | 14K 次閱讀 Java 2D Java開發

<%@ page contentType="text/html; charset=GBK" language="java"
 import="java.awt.image.BufferedImage,java.awt.,javax.imageio."%>

<% // 在內存中創建圖像 int width = 600; int height = 250; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

// 繪制圖像
Graphics g = image.getGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, width, height);

g.setColor(Color.green);
for (int i = 10; i < 220; i += 40){
    g.drawLine(20, i, 578, i); // 畫橫軸
}
g.drawLine(20, 10, 20, 210);   // 畫縱軸
g.setColor(Color.blue);
g.setFont(new Font("宋體", Font.BOLD, 16));
g.drawString("2008年7月 每天來京人數 單位(百)", 200, 240);
g.setColor(Color.black);
g.setFont(new Font("宋體", Font.PLAIN, 11));
g.drawString("500", 3, 12);
g.drawString("400", 3, 52);
g.drawString("300", 3, 92);
g.drawString("200", 3, 132);
g.drawString("100", 3, 172);

for (int i = 1; i <= 31; i++){
    g.drawString(java.lang.Integer.toString(i), i * 18 + 12, 220);
}

for(int day=1;day<=31;day++) {
    int j = (int)(10*day*Math.random())+20; // 當天人數
    g.setColor(Color.red);
    g.drawRect(day * 18 + 12, 210 - j, 10, j);
    g.fillRect(day * 18 + 12, 210 - j, 10, j);

    g.setColor(Color.black);
    g.drawString("", day * 18 + 10, 208 - j);
}

g.dispose();// 產生圖像

ImageIO.write(image, "JPEG", response.getOutputStream());// 輸出到頁面

out.clear();

out = pageContext.pushBody(); %></pre>

利用 Java 2D 畫柱形圖

轉自:http://www.cnblogs.com/190196539/archive/2011/12/21/2295356.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!