如何画折线图?就像股票走势的那种 急! 我以前做过,用的是Oracle的ChartBuilder,你可以查找一下相关的资料,有详细的例子。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用applet1.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.javaimport 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; }} 能不能给个例子 lanmarco() 拜托了!!! 用APPLET根据数据画线你应该会把,我给你提供一个APPLET与SERVLET连接的方案 那样的画它就可以时时的刷新啦,(上面 myzhouyj(myzhouyj) 兄弟的是用APPLET与JSP通讯,个人认为时时性不好) 如果你要的 话我可以给你发过去的. 我也要:我的信箱:[email protected]谢谢! 用APPLET根据数据画线你应该会把,我给你提供一个APPLET与SERVLET连接的方案 那样的画它就可以时时的刷新啦,(上面 myzhouyj(myzhouyj) 兄弟的是用APPLET与JSP通讯,个人认为时时性不好) 如果你要的 话我可以给你发过去的.谢谢你,给我发送一份吧。[email protected] 谢谢你,给我发送一份吧。[email protected] 我也正需要,谢谢,给我一份吧。[email protected] 可以给我一份么谢谢了。[email protected] 我給你一個已經做好的﹐且開放原碼的﹐又使用廣泛的﹐現成的﹐著名的圖表組件。下載地址http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip說明cewolf圖表組件是國外被廣泛使用的JSP擴展標籤。用它就象用控件一樣方便。據說美國著名財經網schwab.com和e*trade就是採用這一組件 jfreechart!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!YOU CAN DO ANYTING wkrain﹐CEWolf就是在JFreeChart基礎上開發出來的﹐比JFreeChart更好用﹐而且功能更多。aredline(一根红线)﹐如果你想快速開發﹐又想得到更多幫助文件﹐並且希望你的代碼達到專業水準﹐而且能被重複使用﹐就目前來看CEWolf是最好的選擇。下載地址http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip官方主頁http://cewolf.sourceforge.net wkrain﹐CEWolf就是在JFreeChart基礎上開發出來的﹐比JFreeChart更好用﹐而且功能更多。aredline(一根红线)﹐如果你想快速開發﹐又想得到更多幫助文件﹐並且希望你的代碼達到專業水準﹐而且能被重複使用﹐就目前來看CEWolf是最好的選擇。下載地址http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip官方主頁http://cewolf.sourceforge.net wkrain﹐CEWolf就是在JFreeChart基礎上開發出來的﹐比JFreeChart更好用﹐而且功能更多。aredline(一根红线)﹐如果你想快速開發﹐又想得到更多幫助文件﹐並且希望你的代碼達到專業水準﹐而且能被重複使用﹐就目前來看CEWolf是最好的選擇。下載地址http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip官方主頁http://cewolf.sourceforge.net 谢谢大家,谢谢doodoofish(嘟嘟鱼) !!![email protected] lcl101(流浪者) 兄,我正做这个给我发一份吧,谢谢了!email:[email protected] 简单的问题 上传图片用的jspsmart上传的问题 请求解答jstl的搜索数据库问题,帮忙帮忙。。。 遇到一个很妖的问题!原来代码跑成功了,改了一个地方又改回来了,就又不行了!大家给看看!等回复! 请问大家谁知到在Cvsnt中怎样添加新的用户! jquery-1.4.3.js的作用! jb9+weblogic8.1出现问题,make出错,但运行无错 关于字符串比较的问题 如何让servlet or bean定时执行,如每天执行一次,如何实现? web问题 装了tomcat怎样运行jsp文件? 关于回车换行符的问题
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;
}
}
拜托了!!!
我给你提供一个APPLET与SERVLET连接的方案 那样的画它就可以时时的刷新啦,(上面 myzhouyj(myzhouyj) 兄弟的是用APPLET与JSP通讯,个人认为时时性不好) 如果你要的 话我可以给你发过去的.
我的信箱:[email protected]
谢谢!
我给你提供一个APPLET与SERVLET连接的方案 那样的画它就可以时时的刷新啦,(上面 myzhouyj(myzhouyj) 兄弟的是用APPLET与JSP通讯,个人认为时时性不好) 如果你要的 话我可以给你发过去的.
谢谢你,给我发送一份吧。
[email protected]
[email protected]
[email protected]
谢谢了。
[email protected]
http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip說明cewolf圖表組件是國外被廣泛使用的JSP擴展標籤。用它就象用控件一樣方便。
據說美國著名財經網schwab.com和e*trade就是採用這一組件
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
YOU CAN DO ANYTING
http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip官方主頁
http://cewolf.sourceforge.net
http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip官方主頁
http://cewolf.sourceforge.net
http://flow.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.8.8.zip官方主頁
http://cewolf.sourceforge.net
[email protected]
email:[email protected]