java绘制柱状图代码,java绘制柱状图代码大全

怎么用java做柱形图!!!

首先要有jfreechart.jar和jcommon-1.0.12.jar两个包然后在web.xml配置

创新互联致力于互联网网站建设与网站营销,提供成都网站制作、做网站、外贸营销网站建设、网站开发、seo优化、网站排名、互联网营销、小程序设计、公众号商城、等建站开发,创新互联网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

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("广州肉类销量统计图", "肉类",

"销量",

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 %"

java 柱状图系统配置与实例

ChartDirector除了一个英文件的帮助以外,也没有再提供Java DOC形式的文档,为了方便,写以下一个例子说明使用ChartDirector生成柱状图的方法.jsp方式实质与JAVA方式没有区别,这里是我从JSP中取的代码(JSP改起来方便,不过手动)

代码如下:

%@ page language="java" contentType="text/Html; charset=UTF-8"

pageEncoding="UTF-8" import="ChartDirector.*;"%

%

request.setCharacterEncoding("UTF-8");

//以两个系列数据为例

double[] data = {185, 156, 179.5, 211, 123};

double[] data1 = {55, 76, 34.5, 88, 43};

//数据列名

String[] labels = {"一月", "二月", "三月", "四月", "五月"};

//生成图片大小 250 x 250

XYChart c = new XYChart(550, 350);

//图标题

c.addTitle("第一个图","",15);

//支持中文

c.setDefaultFonts("SIMSUN.TTC","simhei.ttf");

//图表在图片中的定位及区域大小

c.setPlotArea(30, 40, 400, 250);

//=========================

//加入单个数据

//BarLayer layer = c.addBarLayer(data,0xff3456,"我的测试");

//=========================

//加入多个BAR数据(多个datasets)

BarLayer layer = c.addBarLayer2(Chart.Side, 3);

layer.addDataSet(data, 0xff8080, "我测试1");

layer.addDataSet(data1, 0x008080, "你也测2");

//3d化

layer.set3D();

//设置BAR边框形式

layer.setBarShape(0);

//bar宽度

layer.setBarWidth(50);

//设置BAR边框颜色

//layer.setBorderColor(0xff9999);

//图例形式

layer.setLegend(1);

//每个BAR顶部加入数据显示

layer.setAggregateLabelStyle();

//设置BAR底部的名称显示

TextBox t = c.xAxis().setLabels(labels);

//名称文字大小

t.setFontSize(9);

//加图例

//LegendBox legend = c.addLegend(260, 120,true);

//legend.addKey("钱财",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图表测试/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做柱状图

不太明白。你用了第三方的工具了么?比如fusionchart之类的,如果用了,里面有例子教你。如果你没有使用,建议你使用。

其实原理应该不难,你第一个是双柱形图,第二个是打算把第一个拆分成两个单柱形图;你做出双柱形图了,那么单柱形图对你来说肯定没问题。无非是让两个摞在一块就是了。

给个java与jfreechart画柱形图的例子,要源代码的,我分不多,全给你了

/*java文件*/

package com.cn;

import java.awt.Color;

import java.awt.Paint;

import java.awt.RenderingHints;

import java.io.*;

import javax.servlet.http.HttpSession;

import org.jfree.data.category.CategoryDataset;

import org.jfree.data.category.DefaultCategoryDataset;

import org.jfree.data.general.DefaultPieDataset;

import org.jfree.data.general.PieDataset;

import org.jfree.chart.*;

import org.jfree.chart.entity.StandardEntityCollection;

import org.jfree.chart.plot.*;

import org.jfree.chart.servlet.ServletUtilities;

public class BarChartDemo {

/**

* 饼状图

*/

public static String generatePieChart(HttpSession session, PrintWriter pw,int w, int h){

String filename = null;

PieDataset dataset = getDataSet();

JFreeChart chart = ChartFactory.createPieChart3D(

"水果产量图", // 图表标题

dataset, // 数据集

true, // 是否显示图例

false, // 是否生成工具

false // 是否生成URL链接

);

chart.setBackgroundPaint(Color.pink);

try {

/*------得到chart的保存路径----*/

ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());

filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);

/*------使用printWriter将文件写出----*/

ChartUtilities.writeImageMap(pw, filename, info, true);

pw.flush();

} catch (IOException e) {

e.printStackTrace();

}

return filename;

}

/**

* 柱状图

*/

public static String generateBarChart(HttpSession session, PrintWriter pw,int w, int h){

String filename = null;

CategoryDataset dataset = getDataSet2();

JFreeChart chart = ChartFactory.createBarChart3D(

"水果产量图", // 图表标题

"水果", // 目录轴的显示标签

"产量", // 数值轴的显示标签

dataset, // 数据集

PlotOrientation.VERTICAL, // 图表方向:水平、垂直

true, // 是否显示图例(对于简单的柱状图必须是false)

false, // 是否生成工具

false // 是否生成URL链接

);

try {

/*------得到chart的保存路径----*/

ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());

filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);

/*------使用printWriter将文件写出----*/

ChartUtilities.writeImageMap(pw, filename, info, true);

pw.flush();

} catch (IOException e) {

// TODO 自动生成 catch 块

e.printStackTrace();

}

return filename;

}

/**

* 折线图

*/

public static String generateLineChart(HttpSession session, PrintWriter pw,int w, int h){

String filename = null;

CategoryDataset dataset = getDataSet3();

JFreeChart chart = ChartFactory.createLineChart(

"水果产量图", // 图表标题

"水果", // 目录轴的显示标签

"产量", // 数值轴的显示标签

dataset, // 数据集

PlotOrientation.VERTICAL, // 图表方向:水平、垂直

true, // 是否显示图例(对于简单的柱状图必须是false)

false, // 是否生成工具

false // 是否生成URL链接

);

/*----------设置消除字体的锯齿渲染(解决中文问题)--------------*/

chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,

RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);

/*------------配置图表属性--------------*/

// 1,设置整个图表背景颜色

chart.setBackgroundPaint(Color.pink);

/*------------设定Plot参数-------------*/

CategoryPlot plot = chart.getCategoryPlot();

// 2,设置详细图表的显示细节部分的背景颜色

//plot.setBackgroundPaint(Color.PINK);

// 3,设置垂直网格线颜色

plot.setDomainGridlinePaint(Color.black);

//4,设置是否显示垂直网格线

plot.setDomainGridlinesVisible(true);

//5,设置水平网格线颜色

plot.setRangeGridlinePaint(Color.blue);

//6,设置是否显示水平网格线

plot.setRangeGridlinesVisible(true);

try {

/*------得到chart的保存路径----*/

ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());

filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);

/*------使用printWriter将文件写出----*/

ChartUtilities.writeImageMap(pw, filename, info, true);

pw.flush();

} catch (IOException e) {

// TODO 自动生成 catch 块

e.printStackTrace();

}

return filename;

}

/**

* 在本地生成图片文件

*/

public static void ganarateFruitChart(){

CategoryDataset dataset = getDataSet2();

JFreeChart chart = ChartFactory.createBarChart3D(

"水果产量图", // 图表标题

"月份", // 目录轴的显示标签

"产量(公斤)", // 数值轴的显示标签

dataset, // 数据集

PlotOrientation.VERTICAL, // 图表方向:水平、垂直

true, // 是否显示图例(对于简单的柱状图必须是false)

false, // 是否生成工具

false // 是否生成URL链接

);

FileOutputStream fos_jpg = null;

try {

fos_jpg = new FileOutputStream("D:\\fruit.jpg");

ChartUtilities.writeChartAsJPEG(fos_jpg,1.0f,chart,400,300,null);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

fos_jpg.close();

} catch (Exception e) {}

}

}

/**

* 获取一个饼状图的简单数据集对象

* @return

*/

private static PieDataset getDataSet() {

DefaultPieDataset dataset = new DefaultPieDataset();

dataset.setValue("苹果", 100);

dataset.setValue("梨子", 200);

dataset.setValue("葡萄", 300);

dataset.setValue("香蕉", 400);

dataset.setValue("荔枝", 500);

return dataset;

}

/**

* 获取一个柱状图数据集对象

* @return

*/

private static CategoryDataset getDataSet2() {

DefaultCategoryDataset dataset = new DefaultCategoryDataset();

dataset.addValue(100, "北京", "苹果");

dataset.addValue(500, "北京", "荔枝");

dataset.addValue(400, "北京", "香蕉");

dataset.addValue(200, "北京", "梨子");

dataset.addValue(300, "北京", "葡萄");

dataset.addValue(500, "上海", "葡萄");

dataset.addValue(600, "上海", "梨子");

dataset.addValue(400, "上海", "香蕉");

dataset.addValue(700, "上海", "苹果");

dataset.addValue(300, "上海", "荔枝");

dataset.addValue(300, "广州", "苹果");

dataset.addValue(200, "广州", "梨子");

dataset.addValue(500, "广州", "香蕉");

dataset.addValue(400, "广州", "葡萄");

dataset.addValue(700, "广州", "荔枝");

return dataset;

}

/**

* 获取一个折线图数据集对象

* @return

*/

private static CategoryDataset getDataSet3() {

DefaultCategoryDataset dataset = new DefaultCategoryDataset();

dataset.addValue(100, "北京", "一月");

dataset.addValue(200, "北京", "二月");

dataset.addValue(100, "北京", "三月");

dataset.addValue(400, "北京", "四月");

dataset.addValue(300, "北京", "五月");

dataset.addValue(500, "北京", "六月");

dataset.addValue(90, "北京", "七月");

dataset.addValue(700, "北京", "八月");

dataset.addValue(800, "北京", "九月");

dataset.addValue(1000, "北京", "十月");

dataset.addValue(300, "北京", "十一月");

dataset.addValue(700, "北京", "十二月");

dataset.addValue(1200, "上海", "一月");

dataset.addValue(1100, "上海", "二月");

dataset.addValue(1000, "上海", "三月");

dataset.addValue(900, "上海", "四月");

dataset.addValue(800, "上海", "五月");

dataset.addValue(700, "上海", "六月");

dataset.addValue(600, "上海", "七月");

dataset.addValue(500, "上海", "八月");

dataset.addValue(400, "上海", "九月");

dataset.addValue(300, "上海", "十月");

dataset.addValue(200, "上海", "十一月");

dataset.addValue(100, "上海", "十二月");

dataset.addValue(600, "武汉", "一月");

dataset.addValue(500, "武汉", "二月");

dataset.addValue(400, "武汉", "三月");

dataset.addValue(300, "武汉", "四月");

dataset.addValue(200, "武汉", "五月");

dataset.addValue(100, "武汉", "六月");

dataset.addValue(200, "武汉", "七月");

dataset.addValue(300, "武汉", "八月");

dataset.addValue(400, "武汉", "九月");

dataset.addValue(500, "武汉", "十月");

dataset.addValue(600, "武汉", "十一月");

dataset.addValue(700, "武汉", "十二月");

return dataset;

}

/**

* @param args

*/

public static void main(String[] args) {

ganarateFruitChart();

}

}

/*jsp文件*/

%@ page contentType="text/html;charset=GBK"%

%@ page import="java.io.PrintWriter"%

jsp:directive.page import="com.cn.BarChartDemo"/

html

head

title

/title

%

//饼状图

String fileNamePie=BarChartDemo.generatePieChart(session,new PrintWriter(out),580,250);

String graphURLPie = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileNamePie;

//饼状图

String fileNameBar=BarChartDemo.generateBarChart(session,new PrintWriter(out),580,250);

String graphURLBar = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileNameBar;

//折线图

String fileNameLine=BarChartDemo.generateLineChart(session,new PrintWriter(out),580,250);

String graphURLLine = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileNameLine;

%

/head

body bgcolor="#ffffff"

table align="center" width="580" border="0" cellspacing="0" cellpadding="0"

tr

td

img src=" %= graphURLPie %"width=580 height=250 border=0

/td

/tr

tr

td

img src=" %= graphURLBar %"width=580 height=250 border=0

/td

/tr

tr

td

img src=" %= graphURLLine %"width=580 height=250 border=0

/td

/tr

/table

/body

/html

/*web.xml文件*/

?xml version="1.0" encoding="UTF-8"?

web-app version="2.4" xmlns=""

xmlns:xsi=""

xsi:schemaLocation="

"

servlet

servlet-nameDisplayChart /servlet-name

servlet-class

org.jfree.chart.servlet.DisplayChart

/servlet-class

/servlet

servlet-mapping

servlet-nameDisplayChart /servlet-name

url-pattern/servlet/DisplayChart /url-pattern

/servlet-mapping

welcome-file-list

welcome-fileindex.jsp /welcome-file

/welcome-file-list

/web-app

java用JfreeChart做一个柱状图,数据是从数据库中调用,数据变化柱状图也随之变化,具体代码怎么写,谢谢

可以考虑用

FusionCharts图表组件

FusionCharts是一个基于XML和Flash的图表组件,其中FusionCharts Free是免费的,其功能也十分强大、美观。

在线Demo:

其可以用在PHP、JSP、ASP等等。

可做常见图表有:

1.Area图2.Bar图3.Column图4.Line图5.Pie图6.Stacked图7.Combine图

参考资料:

希望对你有帮助

怎样用JAVA来实现在网页中制作柱状图

JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。

JFreeChart的主页地址为:

在这里可以找到最新版本的JFreeChart的相关信息,如说明文档、下载连接以及示例图表等。

JFreeChart目前是最好的java图形解决方案,基本能够解决目前的图形方面的需求。

IBM文档:

Javaeye社区:

网站栏目:java绘制柱状图代码,java绘制柱状图代码大全
网页网址:https://www.cdcxhl.com/article6/dscipog.html

成都网站建设公司_创新互联,为您提供做网站微信小程序手机网站建设面包屑导航软件开发关键词优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

营销型网站建设