gpt4 book ai didi

wolfram-mathematica - 如何使用 LevelScheme 在 Mathematica 中创建子图?

转载 作者:行者123 更新时间:2023-12-04 16:55:54 24 4
gpt4 key购买 nike

以下面在 MATLAB 中生成的任意图形为例。基本思想是我有一个等高线图,我想在右侧的子图中展示从中选择的切片。 mma 中是否有等效的子图?

我现在的解决方法是分别绘制带有切片和箭头的轮廓图以及两个切片图,然后将它们放在 latex 中。但是,我希望能够在 mma 内做到这一点。我该怎么做?

我的一个想法是生成一个具有全垂直和半水平纵横比的等高线图,两个具有半垂直和半水平纵横比的图,然后使用 GraphicsGrid将它们对齐。但这仍然给了我一个列表的情节,而不是一个复合数字。这是唯一的方法还是有更好,更优雅的方法?

enter image description here

最佳答案

我知道MultipanelLevelScheme可能可以让您做您想做的事-但我对此没有太多经验,而且文档中的示例相当稀少。
我已经粘贴了其中一个示例 into this SO answer ,所以看看那里,看看你的想法!

这是我对 GraphicsGrid 的尝试.Multipanel的那件事让你做但GraphicsGrid没有
是让您使用不同的列/行大小。
这意味着我很难以编程方式绘制箭头,并使用“绘图工具”面板( :D )手工绘制它们

With[{yslice1 = .5, yslice2 = -.8},
GraphicsGrid[
{{DensityPlot[Sin[15 x y], {x, -1, 1}, {y, -1, 1},
ColorFunction -> "PlumColors", AspectRatio -> 2,
Epilog -> {Dashed, White, Line[{{-1, yslice1}, {1, yslice1}}],
Line[{{-1, yslice2}, {1, yslice2}}]}],
Plot[Sin[15 x yslice1], {x, -1, 1}, Axes -> False, Frame -> True]},
{SpanFromAbove,
Plot[Sin[15 x yslice2], {x, -1, 1}, Axes -> False,
Frame -> True]}},
Spacings -> {Scaled[0.2], Scaled[0.0]}]]

enter image description here

编辑:

这是同样的事情,使用 LevelScheme ,请注意框架对齐。
应该可以添加箭头 - 因为 LevelScheme有很多新的箭头指令 - 但我会把它作为一个家庭作业问题!
<< "LevelScheme`"
{yslice1 = .5, yslice2 = -.8};
Figure[{
SetOptions[Multipanel,
ShowTickLabels -> {True, False, False, True}, Background -> Wheat,
PanelLetterFontSize -> 10, Margin -> {{40, 40}, {40, 0}}],
Multipanel[{{0, 1}, {0, 1}}, {2, 2},
XPlotRanges -> {-1, 1}, YPlotRanges -> {-1, 1},
XFrameLabels -> textit["x"], YFrameLabels -> textit["y"],
TickFontSize -> 10, XFrameTicks -> LinTicks[-1, 1, .5, 4],
YFrameTicks -> LinTicks[-1, 1, .5, 4],
BufferL -> 1.5, BufferB -> 3, Order -> Vertical,
XPanelSizes -> {1, 1}, XGapSizes -> 0.25, YGapSizes -> 0.2],
FigurePanel[{1, 2}],
RawGraphics[
Plot[Sin[15 x yslice1], {x, -1, 1}, Axes -> False, Frame -> True]],
FigurePanel[{2, 2}],
RawGraphics[
Plot[Sin[15 x yslice2], {x, -1, 1}, Axes -> False, Frame -> True]],
FigurePanel[{2, 1}, PanelAdjustments -> {{0, 0}, {0, +1.2}}],
RawGraphics[
DensityPlot[Sin[15 x y], {x, -1, 1}, {y, -1, 1},
ColorFunction -> "PlumColors", AspectRatio -> 2],
Graphics[{Dashed, Thick, White,
Line[{{-1, yslice1}, {1, yslice1}}],
Line[{{-1, yslice2}, {1, yslice2}}]}]]},
PlotRange -> {{0, 1}, {0, 1}}, ImageSize -> 2*72*{5, 3}
]

scheming

关于wolfram-mathematica - 如何使用 LevelScheme 在 Mathematica 中创建子图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5429204/

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