openflashchart使用

来源:互联网 发布:杨辉三角的c语言程序 编辑:程序博客网 时间:2024/06/09 23:26

1、jsp页面

swfobject.embedSWF(  
    "js/open-flash-chart.swf",   
    "my_chart",         //需要显示地方的id
    "100%",   
    "900",   
    "9.0.0",  
    "expressInstall.swf",  
    {"data-file":"tmp_showHisNode.action?parmValue="+parm},  
    {wmode:"transparent"}  
);

 

2、action

 

 LineChart lineChart = new LineChart();
 // lineChart.setTooltip("#x_label#<br>#val#");  //设置无效
  XAxis labels  = new XAxis();
  List<String >labelsValue=new ArrayList<String>();
  for(Temperature tmperature:tmp){
   labelsValue.add(tmperature.getCreateTime()+""+tmperature.getCreateTime());

   double tmpValue=0;
   switch (layer){
   case 1:
    tmpValue=tmperature.getTemperature1();
    break;
   case  2:
    tmpValue=tmperature.getTemperature2();
    break;
   case 3:
    tmpValue=tmperature.getTemperature3();
    break; 
   case 4:
    tmpValue=tmperature.getTemperature4();
    break;
   default:
    tmpValue=0;
   }
   
   if(tmperature.getTemperature4()>xMaxValue){
    xMaxValue=tmperature.getTemperature4();
   }
   if(tmperature.getTemperature4()<xMinValue){
    xMinValue=tmperature.getTemperature4();
   }
   LineChart.Dot dot = new LineChart.Dot(tmpValue);//按照顺序设置各个点的值
   //lineChart.addValues(tmpValue);

   dot.setTooltip(tmpValue+"<br>"+tmperature.getCreateDate()+" "+tmperature.getCreateTime()); //可以生效
   
   dot.setColour("#467533");
   lineChart.addDots(dot);

    }  
  
  

  //x.setColour("0x000000");


 
 
       

  Chart flashChart = new Chart( ); // 整个图的标题 
  flashChart.setTitle(new Text("温度(c) "+houseId+"粮仓;&nbsp;"+layer+"层;&nbsp;"+nodeId+"号节点", Text.createStyle(12, "#ff0000", Text.TEXT_ALIGN_LEFT)));
  
  
  
  YAxis y = new YAxis();  //y 轴  
  int step=(int)(xMaxValue-xMinValue)/40;
  y.setRange(xMinValue, xMaxValue, step);
  flashChart.setYAxis(y);  
  
  //x轴
  labels.setSteps(1);

  labels.setLabels(labelsValue);

  labels.getLabels().setSteps(1);
  labels.setOffset(true);
  labels.getLabels().setVisible(false);

  if(tmp.size()==1){
   labels.setRange(0,2);
  }else{
   labels.setRange(0,tmp.size()-1);
   
  }
  flashChart.setXAxis(labels);
  
  
  flashChart.addElements(lineChart); // 把折线图加入到图表  
  String json = flashChart.toDebugString();// 转成 json 格式

 

通过Ajax将json传递至页面。

 

3、所需要的lib。java的 包叫jofc,其他的叫ofc

jofc2-1.0-0.jar

json2.js

open-flash-chart.swf

swfobject.js

xstream-1.3.1.jar

 

 4、参照网站

http://hi.baidu.com/javagril/blog/item/5906010e13e907e1ab6457ad.html