Page 1 sur 1

droite graduée, abscisse particulière

Posté : mer. 31 oct. 2012, 01:29
par fractalux
Bonjour tout le monde,
je suis tout nouveau dans Asymptote !
J'ai commencé à l'utiliser pour créer des axes gradués pour les classes de 6e.

Voici ce que j'aimerais faire :

21-24-but.png
21-24-but.png (683 Octets) Vu 7195 fois


Pour l'instant, voici ce que j'ai réussi à faire :

(1)--------------------------------------------------

21-24-reussi1.png
21-24-reussi1.png (686 Octets) Vu 7195 fois


Code : Tout sélectionner

import graph;
unitsize(2cm);

ticksize=3mm;
Ticksize=1.5mm;

xlimits(min=20.5,max=24.5);

real[] gd={21,22,23,24};
real[] nb={22.871};

xaxis(Ticks(Ticks=gd,ticks=nb));
labelx("22,871",(22.871,.1),N);

shipout(bbox(3mm,Fill(white)));


(2)--------------------------------------------------

21-24-reussi2.png
21-24-reussi2.png (617 Octets) Vu 7195 fois


Code : Tout sélectionner

import graph;
unitsize(2cm);

ticksize=3mm;
Ticksize=1.5mm;

xlimits(min=20.5,max=24.5);

real[] gd={21,22,23,24};
real[] nb={22.871};

xaxis(LeftTicks(Step=1),Arrow);
xaxis(Ticks(nb));
//labelx("22,871",(22.871,.1),N);

shipout(bbox(3mm,Fill(white)));


Comment faire ?!

Merci d'avance de votre aide...

Re: droite graduée, abscisse particulière

Posté : mer. 31 oct. 2012, 10:23
par GM
Bonjour,
tout d'abord, sois le bienvenu sur la planète Asymptote.

Pour le problème posé, il faut songer à la fonction Label (et en d'autres circonstances, il faudra penser aussi à la commande Format que j'illustre aussi dans l'exemple donné) :

Figure asymptote 39413564ddd6a6a576436c0f76b608e0
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. import graph;
  2. unitsize(2cm);
  3. ticksize=3mm;
  4. Ticksize=1.5mm;
  5.  
  6. xlimits(min=20.5,max=24.5);
  7. xaxis(LeftTicks(Label(align=W),Step=1),Arrow);
  8.  
  9. real[] nb={22.871};
  10. xaxis(Ticks(Format("[$%.2f$]"),nb));
  11.  
  12. shipout(bbox(3mm,Fill(white)));


PS : A noter la possibilité d'utiliser le BBCode asy sur le forum, pour produire automatiquement l'image et le code coloré.

Code : Tout sélectionner

[asy]......... code asymptote d'une figure (exclusivement 2D) ........ [/asy]

Re: droite graduée, abscisse particulière

Posté : mer. 31 oct. 2012, 10:36
par GM
Suggestions :

  • Cliquer sur le lien de ma signature renvoyant vers l'index et taper "Label" dans le champ "Filtre sur le NOM", pour y avoir un aperçu possible des différentes signatures (listes des paramètres) possibles de cette fonction ;
  • Songer à regarder le bas de cette page, pour avoir des idées par rapport à la personnalisation des axes : http://www.marris.org/asymptote/Grilles_Reperes/figure-index.html ;
  • Améliorer l'exemple précédent, en évitant le dessin du deuxième axe : un trait sur les deux suffit donc pourquoi pas un pen invisible pour le second axe.

Re: droite graduée, abscisse particulière

Posté : mer. 31 oct. 2012, 10:54
par GM
Pour être complet sur le sujet, je songe au problème du point à la place de la virgule.

Quand on l'a (je dis cela en songeant au fait que selon que l'on est sous windows ou linux... il y a eu par le passé des comportements différents), on peut faire un coup double en faisant en sorte que les nombres avec plus de trois chiffres après la virgule soient plus lisibles à lire.

siunitx va régler les deux problèmes :

Figure asymptote e2e5861d9282584c5fa7f843a030f84a
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. import graph;
  2. unitsize(2cm);
  3.  
  4. usepackage("siunitx", "locale=DE");
  5.  
  6. ticksize=3mm;
  7. Ticksize=1.5mm;
  8.  
  9. xlimits(min=20.5,max=24.5);
  10.  
  11. real[] nb={22.00000123456789};
  12.  
  13. xaxis(LeftTicks(Label(align=W,blue),Step=1,blue),Arrow);
  14. xaxis(Ticks(Format("\num{%.7f}"),nb,1bp+red));
  15.  
  16. shipout(bbox(3mm,Fill(white)));

Re: droite graduée, abscisse particulière

Posté : mer. 31 oct. 2012, 16:36
par fractalux
Merci beaucoup pour cette réponse complète. J'avais déjà observé les exemples sur http://www.marris.org/asymptote/Grilles ... index.html mais je n'avais pas trouvé ce que je voulais exactement.

Asymptote a l'air d'être vraiment un très bon logiciel, à approfondir.

Pour info, je suis sous Linux et par défaut, c'est la virgule qui s'affiche et non le point pour les décimaux ; à ma bonne surprise...

Re: droite graduée, abscisse particulière

Posté : mer. 31 oct. 2012, 16:52
par GM
fractalux a écrit :... mais je n'avais pas trouvé ce que je voulais exactement.

Je vais donc de suite en ajouter au moins un exemple supplémentaire. :-)

Re: droite graduée, abscisse particulière

Posté : mer. 31 oct. 2012, 17:14
par GM
GM a écrit :un trait sur les deux suffit donc pourquoi pas un pen invisible pour le second axe.

C'est nullpen qu'il faut utiliser car sinon les valeurs sont invisibles aussi. Cf. exemple ajouté et mis-à-jour.