jml*_*pez 2 wolfram-mathematica
是否可以更改Graphics对象的选项?假设您正在使用图形对象G2D,如下图所示

您可以从看到InputForm的G2D,该PlotRange选项设置为{{-0.025,1.025},{0,1.05}}.但后来代码我决定将PlotRange选项改为另一个.怎么了InputForm?新选项只是附加.
您可以使用Options和获取图形对象设置的选项,AbsoluteOptions但我还没有找到更改这些选项的方法.该函数SetOptions似乎是一个可能的候选者,但事实证明,此函数仅适用于流和函数.也就是说,它只允许设置示例中显示的默认行为.
如果要清理图形中的选项集,最简单的方法就是重新构建图形.您可以使用提取图形的主体First,并使用DeleteDuplicates和Options获取简化的选项列表:
old = Graphics[{Blue, Disk[]}];
old = Show[old, ImageSize -> 1000];
old = Show[old, ImageSize -> 500];
old = Show[old, ImageSize -> 250];
old = Show[old, ImageSize -> 100]
InputForm[old]
new = Graphics[First[old],
DeleteDuplicates[Options[old], First[#] === First[#2] &]]
InputForm[new]
Run Code Online (Sandbox Code Playgroud)
我之所以使用,Options因为选项Graphics可以(但并非总是)包含在列表中,Options并将标准化表单.
我还想指出技术上Show是在预先设置选项值,因此重复的选项并没有真正损害任何东西,尽管它们会使调试图形输出变得更加困难,并略微增加文件的大小.

您还可以使用SetOptions更改所有图形的默认值:
SetOptions[Graphics, Background -> Gray];
Graphics[Disk[]]
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
382 次 |
| 最近记录: |