我以前做过,用的是Oracle的ChartBuilder,你可以查找一下相关的资料,有详细的例子。

解决方案 »

  1.   

    用applet
    1.jsp中取数
            ResultSet rs = StatementRecordset1.executeQuery(ls_sql);
            while(rs.next())
               {
                i = rs.getInt(2)-1;
                ld[i] = rs.getInt(1);
                ld2[i] = rs.getDouble(1);
               }
            rs.close();
            StatementRecordset1.close();
            conn.close();
          %>
          <applet align="top" code="Charts.class" height="350" width="776">                                  
               <param name="xValue" value="0,1,2,3,4,5,6,7,8,9,10,11,12">                                  
               <param name="yValue" value="0,<%=ld[0]%>,<%=ld[1]%>,<%=ld[2]%>,<%=ld[3]%>,<%=ld[4]%>,<%=ld[5]%>,<%=ld[6]%>,<%=ld[7]%>,<%=ld[8]%>,<%=ld[9]%>,<%=ld[10]%>,<%=ld[11]%>">     
          </applet>2.charts.java
    import java.awt.*;
    import java.applet.*;
    import java.awt.event.*;
    import java.util.*;
    import java.lang.*;public class Charts extends Applet {
      static int LEN;
      static int Xo,Yo; //坐标原点(Xo,Yo)
      static int X2,Y2;  //X轴顶点坐标(Xo,Yo)
      static final int X1=50,Y1=30;  //Y轴顶点坐标(Xo,Yo)
      static int Yunit,Xunit;
      static float Unit;
      static String Xstr,Ystr; //接收从html传进X轴Y轴的数据
      static int[] Xval;
      static int[] Yval;
      static float[] Y=new float[5];
      static int Xmax,Xmin;
      static float Ymax,Ymin;
      static int[] Yvalue;
      static int[] Xvalue;
      Color c=new Color(211,236,197);
      public void init() {
        setBackground(c);
        int width=this.getBounds().width;
        int height=this.getBounds().height;
        setSize(width,height);
        Xstr=getParameter("xValue");
        Ystr=getParameter("yValue");
        Xval=Substr(Xstr);
        Yval=Substr(Ystr);
        LEN=Xval.length;
        Yvalue=new int[LEN];
        Xvalue=new int[LEN];
        Xo=50;
        Yo=height-30;
        X2=width-30;
        Y2=Yo;
        Yunit=(height-100)/4;
        Xunit=(width-100)/LEN;
        Ymax=getMaxVal(Yval);
        Ymin=getMinVal(Yval);
        float tempy=((float)Ymax-(float)Ymin)/4;
        Y[0]=Ymin; //Y轴坐标刻度
        Y[1]=Ymin+tempy;
        Y[2]=Ymin+tempy*2;
        Y[3]=Ymin+tempy*3;
        Y[4]=Ymax;
        Unit=(float)(Yunit*4)/((float)Ymax-(float)Ymin);
        Yvalue=getY(Yunit,tempy,Ymin,Yval);
      }
      public static int[] getY(int unit,float diff,float ymin,int[] value){
        int I=0; //unit=Yunit; diff=temp; ymin=Ymin
        int[] result=new int[LEN];
        for(I=0;I<LEN;I++)
           result[I]=(int)(Yo-((4*unit)/(diff*4))*(value[I]-ymin));
        return result;
      }
      public void paint(Graphics g){
        g.setColor(Color.red);//坐标原点(30,290)
        g.drawLine(Xo,Yo,X1,Y1); //Y轴
        int I;
        for(I=0;I<5;I++){
          g.drawLine(Xo,Yo-Yunit*I,Xo-5,Yo-Yunit*I); //Y
          g.drawString(Float.toString(Y[I]),Xo-38,Yo-Yunit*I);
        }
        g.drawLine(X1,Y1,X1-5,Y1+5); //Y轴左箭头
        g.drawLine(X1,Y1,X1+5,Y1+5); //Y轴右箭头    g.drawLine(Xo,Yo,X2,Y2); //X轴
        //System.out.println("");
        for(I=0;I<LEN;I++){
          g.drawLine(Xo+Xunit*I,Yo,Xo+Xunit*I,Yo+5); //X
          //System.out.print((Xo+Xunit*I)+" ");
          g.drawString(Integer.toString(Xval[I]),Xo+Xunit*I-6,Yo+20);
        }
        g.drawLine(X2,Y2,X2-5,Y2-5); //X轴左箭头
        g.drawLine(X2,Y2,X2-5,Y2+5); //X轴右箭头    g.setColor(Color.black);
        g.drawString("Y",X1-20,Y1);
        g.drawString("X",X2,Y2+20);
        g.setColor(Color.blue);
        for(I=0;I<LEN-1;I++)
     g.drawLine(Xo+Xunit*I,Yvalue[I],Xo+Xunit*(I+1),Yvalue[I+1]);
      }
      public static int[] Substr(String str){
        int I=0;
        StringTokenizer st = new StringTokenizer(str,",");
        int len=st.countTokens();
        int[] val=new int[len];
        while(st.hasMoreTokens()) {
          val[I]=Integer.parseInt(st.nextToken());
          I++;
        }
        return val;
      }
      public static int getMaxVal(int[] Maxval){
        int I,result;
        result=Maxval[0];
        for(I=0;I<Maxval.length;I++){
     if(result<Maxval[I])
       result=Maxval[I];
        }
        return result;
      }
      public static int getMinVal(int[] Minval){
        int I,result;
        result=Minval[0];
        for(I=0;I<Minval.length;I++){
     if(result>Minval[I])
              result=Minval[I];
        }
        return result;
      }
    }
      

  2.   

    能不能给个例子 lanmarco() 
    拜托了!!!
      

  3.   

    用APPLET根据数据画线你应该会把,
    我给你提供一个APPLET与SERVLET连接的方案 那样的画它就可以时时的刷新啦,(上面 myzhouyj(myzhouyj) 兄弟的是用APPLET与JSP通讯,个人认为时时性不好) 如果你要的 话我可以给你发过去的.
      

  4.   

    我也要:
    我的信箱:[email protected]
    谢谢!
      

  5.   

    用APPLET根据数据画线你应该会把,
    我给你提供一个APPLET与SERVLET连接的方案 那样的画它就可以时时的刷新啦,(上面 myzhouyj(myzhouyj) 兄弟的是用APPLET与JSP通讯,个人认为时时性不好) 如果你要的 话我可以给你发过去的.
    谢谢你,给我发送一份吧。
    [email protected]
      

  6.   

    谢谢你,给我发送一份吧。
    [email protected]
      

  7.   

    我也正需要,谢谢,给我一份吧。
    [email protected]
      

  8.   

    可以给我一份么
    谢谢了。
    [email protected]
      

  9.   

    我給你一個已經做好的﹐且開放原碼的﹐又使用廣泛的﹐現成的﹐著名的圖表組件。下載地址
    http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip說明cewolf圖表組件是國外被廣泛使用的JSP擴展標籤。用它就象用控件一樣方便。
    據說美國著名財經網schwab.com和e*trade就是採用這一組件
      

  10.   

    jfreechart
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    YOU  CAN DO ANYTING
      

  11.   

    wkrain﹐CEWolf就是在JFreeChart基礎上開發出來的﹐比JFreeChart更好用﹐而且功能更多。aredline(一根红线)﹐如果你想快速開發﹐又想得到更多幫助文件﹐並且希望你的代碼達到專業水準﹐而且能被重複使用﹐就目前來看CEWolf是最好的選擇。下載地址
    http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip官方主頁
    http://cewolf.sourceforge.net
      

  12.   

    wkrain﹐CEWolf就是在JFreeChart基礎上開發出來的﹐比JFreeChart更好用﹐而且功能更多。aredline(一根红线)﹐如果你想快速開發﹐又想得到更多幫助文件﹐並且希望你的代碼達到專業水準﹐而且能被重複使用﹐就目前來看CEWolf是最好的選擇。下載地址
    http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip官方主頁
    http://cewolf.sourceforge.net
      

  13.   

    wkrain﹐CEWolf就是在JFreeChart基礎上開發出來的﹐比JFreeChart更好用﹐而且功能更多。aredline(一根红线)﹐如果你想快速開發﹐又想得到更多幫助文件﹐並且希望你的代碼達到專業水準﹐而且能被重複使用﹐就目前來看CEWolf是最好的選擇。下載地址
    http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip官方主頁
    http://cewolf.sourceforge.net
      

  14.   

    谢谢大家,谢谢doodoofish(嘟嘟鱼) !!!
    [email protected]
      

  15.   

    lcl101(流浪者) 兄,我正做这个给我发一份吧,谢谢了!
    email:[email protected]