Compte tenu de Graphics
objet, comment puis-je déterminer la plage de coordonnées nécessaires pour inclure tous les graphiques? Fondamentalement, j'ai besoin de quelque chose comme ce qu' Show
le fait par défaut, mais je tiens à préciser PlotRange
,PlotRangePadding
et ImagePadding
explicitement.
Exemple, les deux Show
s ci-dessous doit s'afficher de la même
g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, PlotRange -> getPlotRange[g], PlotRangePadding->getPlotRangePadding[g], ImagePadding->getImagePadding[g]]
Motivation: la fixation des diagrammes dans cette question
Mise à jour:
AbsoluteOptions
me donne de l' PlotRange
mais pas les deux autres options. Spécifiant explicitement ImagePadding->Automatic
change d'apparence si c'est soi-disant en Automatic
par défaut.
Les deux images ci-dessous montrent différemment et je ne comprends pas pourquoi
g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, Sequence @@ AbsoluteOptions[Show[g]]]
Mise à jour 2: Un problème similaire a été mis il y a un an, avec aucune des solutions proposées, et non pas fixe en tant que de Mathematica 8.0. Pour résumer
- Il n'y a aucun moyen de reproduire
Show[g]
ci-dessus avec la définition explicite de l'PlotRange
- Il n'y a aucun moyen d'obtenir absolu
ImagePadding
utilisée parShow[g]
-
Show[g,PlotRange->Automatic]
semble différent deShow[g]
-
AbsoluteOptions
peut donner le mauvais résultat pour l'PlotRange