首先要有jfreechart.jar和jcommon-1.0.12.jar兩個(gè)包然后在web.xml配置
成都創(chuàng)新互聯(lián)公司是一家以成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、成都網(wǎng)站營(yíng)銷、小程序App開發(fā)等移動(dòng)開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為PVC花箱等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。
servlet
servlet-nameDisplayChart/servlet-name
servlet-classorg.jfree.chart.servlet.DisplayChart/servlet-class
/servlet
servlet-mapping
servlet-nameDisplayChart/servlet-name
url-pattern/DisplayChart/url-pattern
/servlet-mapping
最后是jsp代碼:
%@ page contentType="text/html;charset=GBK"%
%@ page import="org.jfree.chart.ChartFactory,
org.jfree.chart.JFreeChart,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.category.CategoryDataset,
org.jfree.data.general.DatasetUtilities"%
%
double[][] data = new double[][] {{1310}, {720}, {1130}, {440}};
String[] rowKeys = {"豬肉", "牛肉","雞肉", "魚肉"};
String[] columnKeys = {""};
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
JFreeChart chart = ChartFactory.createBarChart3D("廣州肉類銷量統(tǒng)計(jì)圖", "肉類",
"銷量",
dataset,
PlotOrientation.VERTICAL,
true,
false,
false);
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%
img src="%= graphURL %"width=500 height=300 border=0 usemap="#%= filename %"
JFreeChart是JAVA平臺(tái)上的一個(gè)開放的圖表繪制類庫。它完全使用JAVA語言編寫,是為applications, applets, servlets 以及JSP等使用所設(shè)計(jì)。JFreeChart可生成餅圖(pie charts)、柱狀圖(bar charts)、散點(diǎn)圖(scatter plots)、時(shí)序圖(time series)、甘特圖(Gantt charts)等等多種圖表,并且可以產(chǎn)生PNG和JPEG格式的輸出,還可以與PDF和EXCEL關(guān)聯(lián)。
JFreeChart的主頁地址為:
在這里可以找到最新版本的JFreeChart的相關(guān)信息,如說明文檔、下載連接以及示例圖表等。
JFreeChart目前是最好的java圖形解決方案,基本能夠解決目前的圖形方面的需求。
IBM文檔:
Javaeye社區(qū):
ChartDirector除了一個(gè)英文件的幫助以外,也沒有再提供Java DOC形式的文檔,為了方便,寫以下一個(gè)例子說明使用ChartDirector生成柱狀圖的方法.jsp方式實(shí)質(zhì)與JAVA方式?jīng)]有區(qū)別,這里是我從JSP中取的代碼(JSP改起來方便,不過手動(dòng))
代碼如下:
%@ page language="java" contentType="text/Html; charset=UTF-8"
pageEncoding="UTF-8" import="ChartDirector.*;"%
%
request.setCharacterEncoding("UTF-8");
//以兩個(gè)系列數(shù)據(jù)為例
double[] data = {185, 156, 179.5, 211, 123};
double[] data1 = {55, 76, 34.5, 88, 43};
//數(shù)據(jù)列名
String[] labels = {"一月", "二月", "三月", "四月", "五月"};
//生成圖片大小 250 x 250
XYChart c = new XYChart(550, 350);
//圖標(biāo)題
c.addTitle("第一個(gè)圖","",15);
//支持中文
c.setDefaultFonts("SIMSUN.TTC","simhei.ttf");
//圖表在圖片中的定位及區(qū)域大小
c.setPlotArea(30, 40, 400, 250);
//=========================
//加入單個(gè)數(shù)據(jù)
//BarLayer layer = c.addBarLayer(data,0xff3456,"我的測(cè)試");
//=========================
//加入多個(gè)BAR數(shù)據(jù)(多個(gè)datasets)
BarLayer layer = c.addBarLayer2(Chart.Side, 3);
layer.addDataSet(data, 0xff8080, "我測(cè)試1");
layer.addDataSet(data1, 0x008080, "你也測(cè)2");
//3d化
layer.set3D();
//設(shè)置BAR邊框形式
layer.setBarShape(0);
//bar寬度
layer.setBarWidth(50);
//設(shè)置BAR邊框顏色
//layer.setBorderColor(0xff9999);
//圖例形式
layer.setLegend(1);
//每個(gè)BAR頂部加入數(shù)據(jù)顯示
layer.setAggregateLabelStyle();
//設(shè)置BAR底部的名稱顯示
TextBox t = c.xAxis().setLabels(labels);
//名稱文字大小
t.setFontSize(9);
//加圖例
//LegendBox legend = c.addLegend(260, 120,true);
//legend.addKey("錢財(cái)",0xff8080);
//圖例位置
c.addLegend(450, 120,true);
//output the chart
String chart1URL = c.makeSession(request, "chart1");
//include tool tip for the chart
String imageMap1 = c.getHTMLImageMap("#", "", "title='{xLabel}: US${value}K'");
%!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
html
head
meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
title圖表測(cè)試/title
/head
body
h1中文/h1
hr color="#000080"
br
img src='%=response.encodeURL("getchart.jsp?"+chart1URL)%'
usemap="#map1" border="0"
map name="map1"%=imageMap1%/map
/body
/html
資料引用:
本文題目:java畫柱狀圖代碼,java畫圖代碼圓形
文章URL:http://chinadenli.net/article44/heeihe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、外貿(mào)建站、搜索引擎優(yōu)化、App開發(fā)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)