给定Graphics对象,如何确定包含所有图形所需的坐标范围?基本上,我需要的东西像什么Show(默认设置),但我想说明PlotRange,PlotRangePadding并ImagePadding明确.
例如,Show下面两个应该呈现相同
g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, PlotRange -> getPlotRange[g], PlotRangePadding->getPlotRangePadding[g], ImagePadding->getImagePadding[g]]
Run Code Online (Sandbox Code Playgroud)
动机:在这个问题中修复图表
更新:
AbsoluteOptions给我PlotRange但不是其他两个选项.默认情况下,明确指定ImagePadding->Automatic更改外观Automatic.
下面的两张图片显示不同,我不明白为什么
g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, Sequence @@ AbsoluteOptions[Show[g]]]
Run Code Online (Sandbox Code Playgroud)
更新2:一年前提出了类似的问题,没有提出解决方案,也没有像Mathematica 8.0那样修复.总结一下
Show[g]明确的设置,没有办法重现上面的内容PlotRangeImagePadding使用Show[g]Show[g,PlotRange->Automatic] 看起来与众不同 Show[g]AbsoluteOptions可以给错误的结果为PlotRange