Graphics ($VersionNumber<;6)在Mathematica中裁剪导出的图像

Graphics ($VersionNumber<;6)在Mathematica中裁剪导出的图像,graphics,wolfram-mathematica,Graphics,Wolfram Mathematica,这是我用Mathematica制作的动画。通过突出显示图像可以看出,左侧和右侧的边距都太宽。我不想为了裁剪而将图像提交给另一个程序,那么如何消除空白呢 查看文档,ImageMargins和ImageRegion本来是不错的,只是它们只适用于前端。那么,我该怎么办呢?首先,我会尝试使用Plot函数的PlotRangePadding选项。如果表达式已光栅化,可以尝试以下操作: imagelist /. Raster[a_, rest___]:> Raster[Take[#, {10, -10}

这是我用Mathematica制作的动画。通过突出显示图像可以看出,左侧和右侧的边距都太宽。我不想为了裁剪而将图像提交给另一个程序,那么如何消除空白呢


查看文档,
ImageMargins
ImageRegion
本来是不错的,只是它们只适用于前端。那么,我该怎么办呢?

首先,我会尝试使用
Plot
函数的
PlotRangePadding
选项。如果表达式已光栅化,可以尝试以下操作:

imagelist /. Raster[a_, rest___]:> Raster[Take[#, {10, -10}]& /@ a, rest]

这将在每一侧削减10个像素。V7中的图像处理工具非常好,如果您能够,我认为您会发现升级是一项非常值得的投资

我认为您可能会发现这两篇文章很有用(尽管第一篇是针对Mathematica 6,第二篇是针对v.7):

.

尝试使用该选项

以下是一个例子:

Plot[Sin[x], {x, 0, 10}, 
  Axes -> False, Frame -> True, 
  PlotRegion -> {{0.1, 0.9}, {0.1, 0.9}}]

我在v8中测试了这一点,之前我做了
PlotRangePadding
这是Mathematica版本6的新功能,很遗憾,为什么需要使用版本5?是因为您没有更新的版本,还是因为中的程序仅与v5兼容?(在后一种情况下,我们可能更容易找到修复方案。我认为很多人都没有安装v5,因此获得非猜测v5的答案会更困难)@Szabolcs:因为在我问这个问题时,我只有版本5。现在,我可以使用一台8版的电脑,但它不是我的。我现在使用的电脑只有第五版。所以是的,我仍然感兴趣。@JM我不知道你在九月份发布了这个问题。我猜答案是您可能可以使用类似于
PlotRegion->{{0.1,0.9},{0.1,0.9}
的东西。我的猜测是基于做
Get[“Version5`Graphics`];在版本8中,Plot[Sin[x],{x,0,10},Axes->False,Frame->True,PlotRegion->{1,0.9},{0.1,0.9}]
。值得注意的是,
PlotRegion
选项接受负值和超出-
PlotRange
的值:
Plot[Sin x],{x,0,10},Axes->False,Frame->True,PlotRegion->{-0.1,1},{code}。