Dado el objeto Graphics
, ¿cómo determino el rango de coordenadas necesarias para incluir todos los gráficos? Básicamente necesito algo parecido a lo que Show
hace por defecto, pero quiero especificar PlotRange
, PlotRangePadding
ImagePadding
y de forma explícita.¿Cómo se determina que PlotRange incluye todos los gráficos?
ejemplo, dos Show
s a continuación deben rendir el mismo
g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, PlotRange -> getPlotRange[g], PlotRangePadding->getPlotRangePadding[g], ImagePadding->getImagePadding[g]]
motivación: la fijación de diagramas en cuestión this
actualización: AbsoluteOptions
me da PlotRange
pero no las otras dos opciones. Especificando explícitamente ImagePadding->Automatic
cambia la apariencia aunque se supone que es Automatic
por defecto.
dos imágenes siguientes muestran de manera diferente y que no entienden por qué
g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, Sequence @@ AbsoluteOptions[Show[g]]]
Actualización 2: Un problema similar fue brought up hace un año, sin soluciones propuestas, y no se fijan como de Mathematica 8,0 . Para resumir
- No hay manera de reproducir
Show[g]
anterior con ajuste explícito dePlotRange
- No hay manera de conseguir absoluta
ImagePadding
utilizado porShow[g]
Show[g,PlotRange->Automatic]
se ve diferente deShow[g]
AbsoluteOptions
puede dar la wrong result dePlotRange
Estoy jugando con AbsoluteOptions también, pero a veces devuelve valores erróneos –
Sí ... tal vez sea mejor que implemente mis propias gruesas líneas ... –
Parece que el problema no es nuevo http://thedailyreviewer.com/ compsys/view/problems-absolute-plotrange-108108947 –