par polbusse » 30 Sep 2003 à 08:52
si tu es sous client web et que ton graphique est un histogramme.Il est possible de passer par javascript pour créer dynamiquement un histogramme ds la page.J'ai ce code a te proposer (à inclure ds le $$HTMLHead):"<script>"+ @NewLine +"function AffHisto(tabx,taby,incX,Y,titre,dX,dY,decal) {" + @NewLine +" var ie=\"\";var ns=\"\";" + @NewLine +" var nb=taby.length;" + @NewLine +" var max=GetMax(taby);" + @NewLine +" if(max==0) {max=1; }" + @NewLine +" var min=GetMin(taby);" + @NewLine +" var incY=Y/max;" + @NewLine +" var tailleY=0; var tailleX=0;" + @NewLine +" var ecartcolonne = 11;" + @NewLine +" for(i=0;i<=Math.round(max/decal);i++) {" + @NewLine +" ie+=\"<DIV style='position:absolute;top:\"+(dY-decal*i*(incY))+\";left:\"+(dX-5)+\"'><IMG src='./fondRougeNotes.jpg?OpenImageResource' height='1' width='\"+(nb*(incX+ecartcolonne)+5)+\"'></DIV>\";" + @NewLine +" ie+=\"<DIV style='position:absolute;top:\"+(dY-8-decal*i*(incY))+\";left:\"+(dX-30)+\"'><FONT size='-2' color='red'>\"+(i*decal)+\"</FONT></DIV>\";" + @NewLine +" }" + @NewLine +" for(var i=0;i<nb;i++)" + @NewLine +" { tailleY=Math.floor(taby[i]*incY);" + @NewLine +" tailleX=Math.floor(incX);" + @NewLine +" var nom=\"./fondVertFonce.jpg?OpenImageResource\"; if ((taby[i]==max)||(taby[i]==min)) {nom=\"./fondVertClaire.jpg?OpenImageResource\";}" + @NewLine +" somme = SomTab(taby);" + @NewLine +" pct=taby[i]/somme*100;" + @NewLine +" pct=Math.round(pct*100)/100;" + @NewLine +" infobulle = tabx[i]+\" : \"+(taby[i])+' soit '+pct+' % des réponses.'; " + @NewLine +" ie+=\"<DIV style='position:absolute;height:100;top:\"+(dY-tailleY)+\";left:\"+(dX+i*(incX+ecartcolonne))+\"'>\";" + @NewLine +" ie+=\"<img valign='bottom' border=0 src='\"+nom+\"' width=\"+tailleX+\" height=\"+tailleY+\" alt='\"+infobulle+\"'>\";" + @NewLine +" ie+=\"<BR><font size=0><BR><table border=0 cellpadding=0 cellspacing=0><tr><td class=styleCellRelief width=\"+incX+\"><FONT size='2' color=#3F8080><CENTER>\"+tabx[i]+\"</CENTER></FONT></td></tr></table>\"+\"</DIV>\";" + @NewLine +" ie+=\"<DIV style='position:absolute;height:100;top:\"+(dY-tailleY-24)+\";left:\"+(dX+i*(incX+ecartcolonne))+\"'><table border=0 width=\"+incX+\"><tr><td width=33%></td><td width=33% align='center' bgcolor=#FFFFFF><font size=2 color=3F8080>\"+taby[i]+\"</td><td width=33%></td></tr></table></DIV>\";" + @NewLine + " }" + @NewLine +" var nbtotal=GetMoy(taby)*nb;" + @NewLine +" ie+=\"<DIV style='position:absolute;top:\"+(dY+60)+\";left:\"+(dX-5)+\"'><FONT size=3 color=#3F8080><u>\"+titre+\" </FONT></B></DIV>\";" + @NewLine +" if ((document.all)||(document.getElementById)) {disp(ie)}" + @NewLine +" else {disp(ns)}" + @NewLine +"}" + @NewLine +"function disp(txt) { document.write(txt) }" + @NewLine +" function Histo(tabx,taby,incX,Y,titre,dX,dY) {"+ @NewLine +" maxy = GetMax(taby);"+ @NewLine +" inc = 5000;"+ @NewLine +" if(maxy<10000) inc=2000;"+ @NewLine +" if(maxy<5000) inc=1000;"+ @NewLine +" if(maxy<1000) inc=200;"+ @NewLine +" if(maxy<500) inc=100;"+ @NewLine +" if(maxy<100) inc=20;"+ @NewLine +" if(maxy<50) inc=10;"+ @NewLine +" if(maxy<10) inc=2;"+ @NewLine +" AffHisto(tabX,tabY,incX,Y,titre,dX,dY,inc);"+ @NewLine +"}" + @NewLine +"// Déclaration du tableau des libellés de colonnes" + @NewLine +" var tabX=new MakeTab("+AgtH_ListeColonneName+");" + @NewLine +"// Déclaration du tableau des valeurs de colonnes" + @NewLine +" var tabY=new MakeTab("+AgtH_ListeColonneValue+");" + @NewLine +" // AffHisto(tabX,tabY,largeur d'une barre, hauteur,titre,position en X, position en Y) {" + @NewLine +" Histo(tabX,tabY,90,220,'"+AgtH_Titre+"',100,400);" + @NewLine +"</script>"+ @NewLine