龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

ChartDirector柱状图使用方法

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
ChartDirector除了一个英文件的帮助以外,也没有再提供Java DOC形式的文档,为了方便,写以下一个例子说明使用ChartDirector生成柱状图的方法.jsp方式实质与JAVA方式没有区别,这里是我从JSP中取的

  

  

  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>

  


  
精彩图集

赞助商链接