Mathematica:AbsoluteOptions无法正常工作

时间:2011-06-09 17:40:13

标签: wolfram-mathematica

根据文档AbsoluteOptions[expr,name]“给出选项名称的绝对设置”。

AbsoluteOptions给出Mathematica在给定设置为Automatic或All时内部使用的选项的实际设置。”

以下是他们展示的一个例子:

<< AbsoluteOptions[Plot[Sin[x], {x, 0, 2 Pi}, 
     PlotRange -> Automatic], PlotRange]
>> {PlotRange -> {{0., 6.28319}, {-1., 1.}}}

我在这里使用&lt;&lt;表示输入和&gt;&gt;表示输出。

这似乎工作正常。但是,当我尝试获取情节的AspectRatio时,它只是给我自动。试试这个,

AbsoluteOptions[
 ListPlot3D[{{1, 1, 1, 1}, {1, 2, 1, 2}, {1, 1, 3, 1}, {1, 2, 1, 4}}, 
  AspectRatio -> Automatic],
  AspectRatio
 ]

与他们展示的示例类似的格式,但我得到的输出只是

{AspectRatio->Automatic}

这是否意味着参数expr只能是Graphics个对象,而不是Graphics3D?这没有意义,因为如果我尝试获取PlotRange Graphics3D对象的{{1}},它就可以正常工作。这是一个错误还是我的mathematica被打破了?另一件事可能是文档不是非常具体。哪一个? 以下是文档的链接:

http://reference.wolfram.com/mathematica/ref/AbsoluteOptions.html

我正在使用Mathematica 7.0.1.0。

2 个答案:

答案 0 :(得分:4)

您可以将ImageDimensions直接应用于Graphics3D以获取其ImageSize

由于 Mathematica 4(见相应documentation page的底部),AbsoluteOptions似乎没有被修改。这个函数非常错误(例如,PlotRange生成的2D图形的Show通常会给出错误的值),有时根据您的问题指出它根本不起作用。将其与FullOptionsFullGraphics进行比较,自版本2以来似乎未对其进行修改...有时FullOptionsAbsoluteOptions错误或根本不起作用时给出了正确的值

答案 1 :(得分:1)

也许,BoxRatios就是你要找的人。 HTH。