"谁有柱形图,折线图的源代码,高分!"(300分)

  • 主题发起人 主题发起人 bain
  • 开始时间 开始时间
B

bain

Unregistered / Unconfirmed
GUEST, unregistred user!
最近需要在网页中嵌入java做的柱形图,折线图用于对查询的数据进行图形统计。本人对
java一窍不通,看了半天的书直范晕:(。
有谁可以提供源代码以供研究,或是提供思路也行。
 
http://www.object-refinery.com/jfreechart/index.html
 
我有一个例子,可以给你看看。
public void hisTogram(double sz[],double sz1[],double sz2[],double LeftPace,double MidPace,int type, Graphics g)
{
int i;
do
uble startP1,endP1=0,sPace;
XDLin = (int)(ctlwdth/(valuesSize+1)+0.5);
if(ParaCount==1)
{barwidth=(int)((ctlwdth/valuesSize-10)+0.5) ;
if(barwidth>20)barwidth=20;
if(barwidth<=0)barwidth=1;
}
if(ParaCount==2)
{barwidth=(int)((ctlwdth/valuesSize-10)/2+0.5) ;
if(barwidth>20)barwidth=20;
if(barwidth<=0)barwidth=1;
}
if(ParaCount==3)
{barwidth=(int)((ctlwdth/valuesSize-10)/3+0.5) ;
if(barwidth>20)barwidth=20;
if(barwidth<=0)barwidth=1;
}
if(ParaCount==1)
{
for(i=0;i<valuesSize;i++)
{
if(sz!=(-(Math.pow(10,15)-1)))
{
startP1=(int)(yLocal+0.0001)+XDLin*(i+1)-barwidth/2;
if (sz>0)
endP1=horLine-(sz-dataHLine)/ybc*yStep;
else
if (sz<0)
endP1=horLine;
sPace=Math.abs(sz-dataHLine)/ybc*yStep;
g.setColor(Color.blue);
g.fill3DRect ((int)(startP1+0.5),(int)(endP1+0.5),barwidth,(int)(sPace+0.5),true);
}
}
}
if(ParaCount==2)
{
g.setColor(Color.blue);
for(i=0;i<valuesSize;i++)
{
if(sz!=(-(Math.pow(10,15)-1)))
{
startP1=(int)(yLocal+0.0001)+XDLin*(i+1)-barwidth;
if (sz>0)
endP1=horLine-(sz-dataHLine)/ybc*yStep;
else
if (sz<0)
endP1=horLine;
sPace=Math.abs(sz-dataHLine)/ybc*yStep;
g.fill3DRect ((int)(startP1+0.5),(int)(endP1+0.5),barwidth,(int)(sPace+0.5),true);
}
}
g.setColor(Color.red);
for(i=0;i<valuesSize;i++)
{
if(sz1!=(-(Math.pow(10,15)-1)))
{
startP1=(int)(yLocal+0.0001)+XDLin*(i+1);
if (sz1>0)
endP1=horLine-(sz1-dataHLine)/ybc*yStep;
else
if (sz1<0)
endP1=horLine;
sPace=Math.abs(sz1-dataHLine)/ybc*yStep;
g.fill3DRect ((int)(startP1+0.5),(int)(endP1+0.5),barwidth,(int)(sPace+0.5),true);
}
}
}
if(ParaCount==3)
{
g.setColor(Color.blue);
for(i=0;i<valuesSize;i++)
{
if(sz!=(-(Math.pow(10,15)-1)))
{
startP1=(int)(yLocal+0.0001)+XDLin*(i+1)-barwidth*3/2;
if (sz>0)
endP1=horLine-(sz-dataHLine)/ybc*yStep;
else
if (sz<0)
endP1=horLine;
sPace=Math.abs(sz-dataHLine)/ybc*yStep;
g.fill3DRect ((int)(startP1+0.5),(int)(endP1+0.5),barwidth,(int)(sPace+0.5),true);
}
}
g.setColor(Color.red);
for(i=0;i<valuesSize;i++)
{
if(sz1!=(-(Math.pow(10,15)-1)))
{
startP1=(int)(yLocal+0.0001)+XDLin*(i+1)-barwidth/2;
if (sz1>0)
endP1=horLine-(sz1-dataHLine)/ybc*yStep;
else
if (sz1<0)
endP1=horLine;
sPace=Math.abs(sz1-dataHLine)/ybc*yStep;
g.fill3DRect ((int)(startP1+0.5),(int)(endP1+0.5),barwidth,(int)(sPace+0.5),true);
}
}
g.setColor(Color.yellow);
for(i=0;i<valuesSize;i++)
{
if(sz2!=(-(Math.pow(10,15)-1)))
{
startP1=(int)(yLocal+0.0001)+XDLin*(i+1)+barwidth/2;
if (sz2>0)
endP1=horLine-(sz2-dataHLine)/ybc*yStep;
else
if (sz2<0)
endP1=horLine;
sPace=Math.abs(sz2-dataHLine)/ybc*yStep;
g.fill3DRect ((int)(startP1+0.5),(int)(endP1+0.5),barwidth,(int)(sPace+0.5),true);
}
}
}
for(i=1;i<=valuesSize;i++)
{
g.setColor(Color.gray);
if (valuesSize>10 )
{if((i%2)==1)
{
g.drawLine((int)(yLocal+0.0001)+XDLin*i,(int)ctlhght,(int)(yLocal+0.0001)+XDLin*i,(int)ctlhght+5);
//X
g.drawString(titles[i-1],(int)(yLocal+0.0001)+XDLin*i-(int)(g.getFontMetrics().stringWidth(titles[i-1])/2),(int)ctlhght+15);
}
else
{
g.drawLine((int)(yLocal+0.0001)+XDLin*i,(int)ctlhght,(int)(yLocal+0.0001)+XDLin*i,(int)ctlhght+10);
//X
g.drawString(titles[i-1],(int)(yLocal+0.0001)+XDLin*i-(int)(g.getFontMetrics().stringWidth(titles[i-1])/2),(int)ctlhght+25);
}
}
else
{
g.drawLine((int)(yLocal+0.0001)+XDLin*i,(int)ctlhght,(int)(yLocal+0.0001)+XDLin*i,(int)ctlhght+5);
//X
g.drawString(titles[i-1],(int)(yLocal+0.0001)+XDLin*i-(int)(g.getFontMetrics().stringWidth(titles[i-1])/2),(int)ctlhght+20);
}
}
}
 
能不能给个完整的例子,谢了。我的Email bain@263.com
 
delphi的例子程序就很不错!
 
TO :frenking
我是说用Java作柱形图。
 
使用freeChart和JChart就挺好的
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部