FindDivisions[ ] a été ajouté dans Mma v7, et semble être un bon moyen d'obtenir des graduations flexibles pour les graphiques. Voir par exemple this question et ses réponses.FindDivisions [] ne fonctionnait pas comme indiqué
Exemple d'utilisation:
f[fd_] := Join[
{#, #, {.07, 0}, Directive[Black, Thickness[.01]]} & /@ fd[[1]],
{#, #, {.05, 0}, Directive[Black, Thin]} & /@ Flatten[fd[[2]]]];
plot[pr_List] :=
Plot[Sin[x], [email protected][{x}, pr], Ticks -> {f[FindDivisions[pr, {2,5}]]}]
plot[{0, 10}]
Et tout semble bien.
Mais il y a un petit problème:
f[fd_] := Join[
{#, #, {.03, 0}, Directive[Red, Thickness[.01]]} & /@ fd[[1]],
{#, #, {.05, 0}, Directive[Black, Thin]} & /@ Flatten[fd[[2]]]];
plot[pr_List] :=
Plot[Sin[x], [email protected][{x}, pr], Ticks -> {f[FindDivisions[pr, {2,5}]]}]
plot[{0, 10}]
Comme vous pouvez le voir, les tiques rouges et noirs sont superposées. C'est parce que
FindDivisions[{0, 2}, {2, 4}]
(*
-> {{0, 1, 2}, {{0, 1/4, 1/2, 3/4, 1}, {1, 5/4, 3/2, 7/4, 2}}}
*)
et vous pouvez voir que les chiffres dans la première liste (la principale tiques) sont répétées dans la deuxième liste.
Cependant, les FindDivisions [] documentation indique:
Alors, deux questions:
- Est-ce un bug ou que je fais (ou compréhension) quelque chose de mal?
- N'importe quel facile comment supprimer les ticks répétés dans une structure à plusieurs niveaux?
Merci @Brett. Comment ça marche pour 'FindDivisions [{0, 2}, {2, 4, 2}]'? –
Réponse mise à jour, bien que je n'aime pas les divisions trouvées pour le troisième niveau dans ce cas ... –
Il semble qu'avec 'FindDivisions [{0, 1}, {3, 3, 3}]', la valeur '1/2' est répété dans la troisième liste –