5 wolfram-mathematica levelscheme
考虑以下在MATLAB中生成的任意图形作为示例.基本的想法是我有一个等高线图,我想在右边的子图中展示它的选定切片.在mma中是否有等效的子图?
我现在所做的工作就是将切片和箭头以及两个切片图分别绘制成轮廓图,然后将它们放在胶乳中.但是,我希望能够在mma中做到这一点.我该怎么做呢?
我的想法是生成一个具有完整垂直和半水平纵横比的等高线图,这两个图具有半垂直和半水平纵横比,然后用于GraphicsGrid对齐它们.但这仍然给了我作为列表的情节,而不是复合数字.这是唯一的方式还是有更好,更优雅的方式呢?

我知道Multipanel在LevelScheme中可能会让你做你想做的事 - 但我没有太多的经验,而且文档中的例子相当稀疏.我已经将其中一个例子粘贴到这个SO答案中,所以看看那里,看看你的想法!
这是我的尝试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]}]]
Run Code Online (Sandbox Code Playgroud)

这是使用相同的东西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}
]
Run Code Online (Sandbox Code Playgroud)
