鉴于Graphics
对象,我如何确定包含所有图形所需的坐标范围?基本上我需要类似默认的Show
,但我想明确指定PlotRange
,PlotRangePadding
和ImagePadding
。如何确定PlotRange以包含所有图形?
例,空两个Show
S的关系呈现相同的
g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, PlotRange -> getPlotRange[g], PlotRangePadding->getPlotRangePadding[g], ImagePadding->getImagePadding[g]]
动机:固定图在this问题
更新: AbsoluteOptions
给我PlotRange
而不是其他两个选项。明确指定ImagePadding->Automatic
默认情况下会改变外观,尽管它应该是Automatic
。下图显示不同
两个图像,我不明白为什么
g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, Sequence @@ AbsoluteOptions[Show[g]]]
更新2: 类似的问题是brought up一年前,没有提出解决方案,而不是固定为数学8.0 。总结
- 没有办法重现
Show[g]
以上的PlotRange
- 明确的设置有没有办法让通过
Show[g]
Show[g,PlotRange->Automatic]
使用绝对ImagePadding
看起来与Show[g]
AbsoluteOptions
不同可以给wrong result为PlotRange
我也在玩AbsoluteOptions,但有时候它会返回错误的值 – 2010-11-26 23:35:15
是的......也许我更擅长实现我自己的粗线...... – 2010-11-26 23:57:53
似乎问题不是新的http://thedailyreviewer.com/ compsys/view/problems-absolute-plotrange-108108947 – 2010-11-26 23:59:21