Changeset 3498 in Sophya


Ignore:
Timestamp:
Jun 10, 2008, 3:54:13 PM (17 years ago)
Author:
ansari
Message:

petite modif format ecriture nombres pour labels axes (%e au lieu de %f) pour nombre trop grand ou trop petit - Reza 10/06/2008

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PI/piaxes.cc

    r2861 r3498  
    420420    //Attention erreur d'arrondi x->0 (on code 5.1698e-26 au lieu de 0)
    421421    double xx = (fabs(xticks[i]/xstep)<1.e-5) ? 0.: xticks[i];
    422     sprintf(label,format.c_str(),xx/fac); Arrange_Label(label);
     422    double dog = fabs(xx/fac);
     423    if ((dog<=1.e-5)||(dog>=1.e5)) 
     424      sprintf(label,"%le",xx/fac);
     425    else
     426      sprintf(label,format.c_str(),xx/fac);
     427    Arrange_Label(label);
    423428    double largeur = g->CalcStringWidth(label);
    424429    g->DUC2GrC(largeur,0.,largpix,dum);
     
    463468    if(yticks[i]>yMax) break;
    464469    double yy = (fabs(yticks[i]/ystep)<1.e-5) ? 0.: yticks[i];
    465     sprintf(label,format.c_str(),yy/fac); Arrange_Label(label);
     470    double dog = fabs(yy/fac);
     471    if ((dog<=1.e-5)||(dog>=1.e5)) 
     472      sprintf(label,"%le",yy/fac);
     473    else
     474      sprintf(label,format.c_str(),yy/fac);
     475    Arrange_Label(label);
    466476    g->UC2GrC(x,yticks[i],dum,ypixdeb);   ypixdeb -= hautpix/2.;
    467477    // -- Attention: ypix=0 est en haut de l'ecran
     
    478488  if(npuiss!=0) {
    479489    if(aYdir) hauteur = -hauteur;
    480     double ym = (aYdir)? yMin: yMax; ym = g->DeltaUCY(ym,0.5*hauteur);
     490    double ym = (aYdir)? yMin: yMax; ym = g->DeltaUCY(ym,0.25*hauteur);
    481491    sprintf(label,"%d",npuiss);
    482492    g->DrawCompString(x,ym,"x 10",label,NULL,PI_VerticalBottom|just);
Note: See TracChangeset for help on using the changeset viewer.