http://www.w3.org/TR/SVG/linking.html
Modify the code from : http://blog.csdn.net/solaris_navi/article/details/7467480
// draw a circle then add hyperlink on it
String point ="" +
"
"cy='"+ String.valueOf((starty+height-(float)numbers[i]*(float)rh))+"' " +
"r='3' fill='black'/>" +
"";
circlepoint += point;
Main function:
private double getMax(double[] intarr)
{
double m = intarr[0];
double c = 0;
for(int i=1;i
{
c = intarr[i];
if(c > m)
m = c;
}
return m;
}
private String getSVGDrawLine(int width, int height, int startx, int starty, double[] data)
{
String htmlstr;
// if width height ==0 then => error
double maxdatavalue = this.getMax(data);
int datapoints = data.length;
String coordi = "" +
"y=max:"+String.valueOf(maxdatavalue)+"" +
"x=max:"+String.valueOf(datapoints-1)+"" +
"0";
float rw = (float)width / (float)datapoints;
float rh = (float)height / (float)maxdatavalue;
String points = "";
String circlepoint = "";
// System.out.println(height+","+maxdatavalue+","+rh);
for(int i=0;i
{
points += " " + String.valueOf((int)(startx + i*rw)) + "," + String.valueOf((starty+height-(float)data[i]*(float)rh));
//System.out.println( " " + String.valueOf(startx + (int)(i*rw)) + "," + String.valueOf((float)starty+(((float)numbers[i])*rh)));
// draw a circle then add hyperlink on it
String point ="" +
"
"cy='"+ String.valueOf((starty+height-(float)data[i]*(float)rh))+"' " +
"r='3' fill='black'/>" +
"";
circlepoint += point;
}
int nhl = (int)(height/25); // num of horizontal line
int nvl = (int)(width/100); // num of vertical line
if(nhl >= maxdatavalue)
nhl = (int)maxdatavalue;
if(nvl >= datapoints)
nvl = datapoints;
boolean isdrawdotlinehor = false;
boolean isdrawdotlinevor = false;
if(nhl >= 1)
isdrawdotlinehor = true;
if(nvl >= 1)
isdrawdotlinevor = true;
String dotLinehor = "";
String dotLinevor = "";
if(isdrawdotlinehor)
{
for(int i=1; i
{
dotLinehor += ""+String.valueOf(maxdatavalue - (int)((float)maxdatavalue/(float)nhl*(float)i))+""+
"";
}
}
//System.out.println(nvl);
if(isdrawdotlinevor)
{
for(int i=1; i
{
dotLinehor += ""+String.valueOf((int)((float)datapoints/(float)nvl*(float)i))+""+
"";
}
}
String drawline = "";
String svgstr = "" +
coordi +
dotLinehor +
dotLinevor +
drawline +
circlepoint +
"" ;
htmlstr = " " +
"
" +svgstr +
"" +
"";
return htmlstr;
}