本文目录一览:
- 1、我在java中编写了个柱状图,可运行了,我想让柱状图在JSP页面中显示,请问有什么方法么?谢谢。
- 2、java 柱状图系统配置与实例
- 3、java中使用jfreechart做柱状图,在jsp中显示有问题,
- 4、怎样用JAVA来实现在网页中制作柱状图
- 5、java怎么生成excel柱状图?
- 6、怎么用java的相关类去画一个柱状图
我在java中编写了个柱状图,可运行了,我想让柱状图在JSP页面中显示,请问有什么方法么?谢谢。
用 Graphics 类
public void graphicsGeneration(int h1,int h2,int h3,int h4,int h5) {
final int X=10;
int imageWidth = 300;//图片的宽度
int imageHeight = 300;//图片的高度
int columnWidth=30;//柱的宽度
int columnHeight=200;//柱的最大高度
ChartGraphics chartGraphics = new ChartGraphics();
chartGraphics.image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
Graphics graphics = chartGraphics.image.getGraphics();
graphics.setColor(Color.white);
graphics.fillRect(0,0,imageWidth,imageHeight);
graphics.setColor(Color.red);
graphics.drawRect(X+1*columnWidth, columnHeight-h1, columnWidth, h1);
graphics.drawRect(X+2*columnWidth, columnHeight-h2, columnWidth, h2);
graphics.drawRect(X+3*columnWidth, columnHeight-h3, columnWidth, h3);
graphics.drawRect(X+4*columnWidth, columnHeight-h4, columnWidth, h4);
graphics.drawRect(X+5*columnWidth, columnHeight-h5, columnWidth, h5);
chartGraphics.createImage("D:\\temp\\chart.jpg");
}
}
希望能对你有帮助
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中使用jfreechart做柱状图,在jsp中显示有问题,
jfreechart中显示柱状图到jsp页面:
package com.test.jfreechart;
import java.awt.Font;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
public class JFreeChartTest2 extends ApplicationFrame
{
public JFreeChartTest2(String title)
{
super(title);
this.setContentPane(createPanel()); //构造函数中自动创建Java的panel面板
}
public static CategoryDataset createDataset() //创建柱状图数据集
{
DefaultCategoryDataset dataset=new DefaultCategoryDataset();
dataset.setValue(10,"a","管理人员");
dataset.setValue(20,"b","市场人员");
dataset.setValue(40,"c","开发人员");
dataset.setValue(15,"d","其他人员");
return dataset;
}
public static JFreeChart createChart(CategoryDataset dataset) //用数据集创建一个图表
{
JFreeChart chart=ChartFactory.createBarChart("hi", "人员分布",
"人员数量", dataset, PlotOrientation.VERTICAL, true, true, false); //创建一个JFreeChart
chart.setTitle(new TextTitle("某公司组织结构图",new Font("宋体",Font.BOLD+Font.ITALIC,20)));//可以重新设置标题,替换“hi”标题
CategoryPlot plot=(CategoryPlot)chart.getPlot();//获得图标中间部分,即plot
CategoryAxis categoryAxis=plot.getDomainAxis();//获得横坐标
categoryAxis.setLabelFont(new Font("微软雅黑",Font.BOLD,12));//设置横坐标字体
return chart;
}
public static JPanel createPanel()
{
JFreeChart chart =createChart(createDataset());
return new ChartPanel(chart); //将chart对象放入Panel面板中去,ChartPanel类已继承Jpanel
}
public static void main(String[] args)
{
JFreeChartTest2 chart=new JFreeChartTest2("某公司组织结构图");
chart.pack();//以合适的大小显示
chart.setVisible(true);
}
}
运行结果:
怎样用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怎么生成excel柱状图?
如果是柱状图之类的表示 是在 excel中生成的 那么你可以考虑做个excel模版引用数据利用excel内的机制自动生成想要的图,而数据可以用java利用poi的相关类 往模版里面写数据。就知道这么多 就给你说这么多吧
怎么用java的相关类去画一个柱状图
可以使用java第三方JFreeChart的api:具体
import java.awt.Color;
import java.awt.GradientPaint;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DatasetUtilities;
/**
* 柱状图测试
* @author xjh
*
*/
public class BarChartTest {
/**
* 得到2D柱状图的数据集合
*
* @return
*/
private CategoryDataset getDataset2D() {
String str1 = "First";
String str2 = "Second";
String str3 = "Third";
String str4 = "Category 1";
String str5 = "Category 2";
String str6 = "Category 3";
String str7 = "Category 4";
String str8 = "Category 5";
DefaultCategoryDataset localDefaultCategoryDataset = new DefaultCategoryDataset();
localDefaultCategoryDataset.addValue(1.0D, str1, str4);
localDefaultCategoryDataset.addValue(4.0D, str1, str5);
localDefaultCategoryDataset.addValue(3.0D, str1, str6);
localDefaultCategoryDataset.addValue(5.0D, str1, str7);
localDefaultCategoryDataset.addValue(5.0D, str1, str8);
localDefaultCategoryDataset.addValue(5.0D, str2, str4);
localDefaultCategoryDataset.addValue(7.0D, str2, str5);
localDefaultCategoryDataset.addValue(6.0D, str2, str6);
localDefaultCategoryDataset.addValue(8.0D, str2, str7);
localDefaultCategoryDataset.addValue(4.0D, str2, str8);
localDefaultCategoryDataset.addValue(4.0D, str3, str4);
localDefaultCategoryDataset.addValue(3.0D, str3, str5);
localDefaultCategoryDataset.addValue(2.0D, str3, str6);
localDefaultCategoryDataset.addValue(3.0D, str3, str7);
localDefaultCategoryDataset.addValue(6.0D, str3, str8);
return localDefaultCategoryDataset;
}
/**
* 创建2D柱状图
*
* @param paramCategoryDataset
* @return
*/
public JFreeChart createBarChart2D() {
//得到2D柱状图的数据集合
CategoryDataset paramCategoryDataset = getDataset2D();
//创建柱状图
JFreeChart localJFreeChart = ChartFactory.createBarChart(
"Bar Chart Demo", "Category", "Value", paramCategoryDataset,
PlotOrientation.VERTICAL, true, true, false);
//设置柱状图属性
localJFreeChart.setBackgroundPaint(Color.white);
//获取柱状图的标注点集合
CategoryPlot localCategoryPlot = localJFreeChart.getCategoryPlot();
//设置标注点的背景色
localCategoryPlot.setBackgroundPaint(Color.lightGray);
//设置绘制区域的方格线的颜色
localCategoryPlot.setDomainGridlinePaint(Color.white);
//是方格线可见
localCategoryPlot.setDomainGridlinesVisible(true);
//设置方格线变动绘制颜色
localCategoryPlot.setRangeGridlinePaint(Color.white);
//得到数值坐标轴
NumberAxis localNumberAxis = (NumberAxis) localCategoryPlot
.getRangeAxis();
//设置坐标轴单元
localNumberAxis.setStandardTickUnits(NumberAxis
.createIntegerTickUnits());
//得到柱状图渲染器
BarRenderer localBarRenderer = (BarRenderer) localCategoryPlot
.getRenderer();
//如果超出绘制区域边界将不可见
localBarRenderer.setDrawBarOutline(false);
//创建倾斜度对象
GradientPaint localGradientPaint1 = new GradientPaint(0.0F, 0.0F,
Color.blue, 0.0F, 0.0F, new Color(0, 0, 64));
GradientPaint localGradientPaint2 = new GradientPaint(0.0F, 0.0F,
Color.green, 0.0F, 0.0F, new Color(0, 64, 0));
GradientPaint localGradientPaint3 = new GradientPaint(0.0F, 0.0F,
Color.red, 0.0F, 0.0F, new Color(64, 0, 0));
//为渲染器设置倾斜度
localBarRenderer.setSeriesPaint(0, localGradientPaint1);
localBarRenderer.setSeriesPaint(1, localGradientPaint2);
localBarRenderer.setSeriesPaint(2, localGradientPaint3);
//旋转坐标轴
CategoryAxis localCategoryAxis = localCategoryPlot.getDomainAxis();
localCategoryAxis.setCategoryLabelPositions(CategoryLabelPositions
.createUpRotationLabelPositions(0.5235987755982988D));
return localJFreeChart;
}
/**
* 创建3D柱状图
*
* @return
*/
public JFreeChart createBarChart3D() {
// 设置坐标点
double[][] arrayOfDouble = { { 10.0D, 4.0D, 15.0D, 14.0D },
{ -5.0D, -7.0D, 14.0D, -3.0D }, { 6.0D, 17.0D, -12.0D, 7.0D },
{ 7.0D, 15.0D, 11.0D, 0.0D }, { -8.0D, -6.0D, 10.0D, -9.0D },
{ 9.0D, 8.0D, 0.0D, 6.0D }, { -10.0D, 9.0D, 7.0D, 7.0D },
{ 11.0D, 13.0D, 9.0D, 9.0D }, { -3.0D, 7.0D, 11.0D, -10.0D } };
// 创建图表的数据集合,第一个参数:横坐标的文字说明;第二个参数:纵坐标的文字说明;第三个参数:坐标数组
CategoryDataset paramCategoryDataset = DatasetUtilities
.createCategoryDataset("Series ", "Category ", arrayOfDouble);
// 创建3D图表
JFreeChart localJFreeChart = ChartFactory.createBarChart3D(
"3D Bar Chart Demo", "Category", "Value", paramCategoryDataset,
PlotOrientation.VERTICAL, true, true, false);
// 得到横坐标点集合对象
CategoryPlot localCategoryPlot = localJFreeChart.getCategoryPlot();
// 设置方格可见
localCategoryPlot.setDomainGridlinesVisible(true);
// 得到坐标轴
CategoryAxis localCategoryAxis = localCategoryPlot.getDomainAxis();
// 设置标注点位置
localCategoryAxis.setCategoryLabelPositions(CategoryLabelPositions
.createUpRotationLabelPositions(0.3926990816987241D));
// 创建3D柱状图渲染对象
BarRenderer3D localBarRenderer3D = (BarRenderer3D) localCategoryPlot
.getRenderer();
// 设置超出边界不可见
localBarRenderer3D.setDrawBarOutline(false);
// 返回图表对象
return localJFreeChart;
}
}