gpt4 book ai didi

wolfram-mathematica - 组装多个 Graphics 对象

转载 作者:行者123 更新时间:2023-12-02 08:54:54 25 4
gpt4 key购买 nike

考虑以下简单示例:

f[x_] = Sin[5 x] + Sin[3 x];
p1 = PolarPlot[f[x], {x, 0, 2 Pi}, ImageSize -> 50 {5, 2.5},
Frame -> True]
p2 = PolarPlot[f'[x], {x, 0, 2 Pi}, ImageSize -> 50 {5, 3},
Frame -> True]

产生以下两个数字

enter image description here enter image description here

现在我想将它们两个对齐,一个叠在一起,没有任何额外的间隙。执行 FullGraphics@GraphicsColumn[{p1, p2}, Frame -> All],返回一个对象,在较短的图形周围有额外的空白(我已经在所有对象中打开了框架来说明这一点) ) enter image description here

我找不到一种方法来强制每个列“单元格”垂直适应图像大小(注意:我知道在我的示例中,第二个图中有额外的水平空白,即故意的。我只是想垂直地紧贴它)。我尝试使用 Spacings 选项,但这仍然不令人满意。所以,我的第一个问题是:“有没有办法使用 GraphicsGridGraphicsColumn 或任何其他方式来做到这一点?”

另一种方法是使用 ImageAssemble ,如下所示:

ImageAssemble[Map[FullGraphics, {{p1}, {p2}}, {2}]]

它满足我的要求,但给出了光栅化图像(以下是屏幕截图,因为保存的文件的分辨率要差得多)。

enter image description here

我的实际图形是整齐的矢量图,我什至不想考虑光栅化它们,无论分辨率有多高。所以,我的第二个问题是:“有没有办法从 ImageAssemble 获取矢量图形输出?”如果有帮助,我正在使用 Mma7 并将图形保存为 Export["filename.pdf",expr]

我知道使用 LevelScheme 来显示示例是可能的。但是,并非所有绘图函数都与 LevelScheme 兼容,并且并非在所有情况下都有效。

最佳答案

结果必须是图形吗?如果没有,您可以使用常规列:

Column[{p1, p2}, Spacings -> 0]

enter image description here

关于wolfram-mathematica - 组装多个 Graphics 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5708633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com