标签: levelscheme

如何使用一对FrameLabels制作一个图形网格?

创建绘图的行/列/网格的最简单方法是什么,整个网格具有单个FrameLabel?

我需要类似的东西:

p := ListPlot[RandomInteger[10, 5], Joined -> True, Axes -> False, 
  Frame -> True, PlotRange -> {0, 11}, 
  FrameLabel -> {"horizontal", None}, AspectRatio -> 1]

GraphicsRow[{Show[p, FrameLabel -> {"horizontal", "vertical"}], p, p}]
Run Code Online (Sandbox Code Playgroud)

对于行格式,它可以有一个或多个水平标签,但只有一个垂直标签.

需要考虑的问题:

  • 垂直刻度必须与所有绘图匹配,并且不得因例如太长的标签或自动破坏PlotRangePadding.
  • 需要良好(并且可以调整大小!)对绘图间距的控制(毕竟,这是删除冗余标签的动机之一)
  • 一般空间效率的安排.最大内容,最小(不必要)空格.

编辑

我正在努力能够稳健地创建打印就绪数字,这需要大量调整大小.(因为导出的PDF通常与我在笔记本中看到的比例不同,并且必须具有可读但不超大的字体)

plot wolfram-mathematica levelscheme

15
推荐指数
2
解决办法
8190
查看次数

LevelScheme中的直方图

我刚刚开始使用LevelScheme,并且在使直方图在图中正确拟合方面存在问题.最小的非工作示例:

<<"LevelScheme`"
Figure[{FigurePanel[{{0, 1}, {0, 1}},
   LabB -> textit["x"], BufferB -> 2.5,
   LabL -> textit["p(x)"], BufferL -> 2.5,
   FrameTicks -> {LinTicks[-4, 4], LinTicks[0, 1]},
   PlotRange -> {{-3, 3}, {0, 0.5}}], 
  RawGraphics[
   Histogram[RandomReal[NormalDistribution[], 1000], Automatic, 
    "ProbabilityDensity"]]},
 Frame -> False, PlotRange -> {{-0.075, 1.1}, {-0.1, 1.03}}]
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样

在此输入图像描述

它看起来应该是这样的

在此输入图像描述

基本上,Histogram图形对象不服从FigurePanel's PlotRange,而是服从主要FigurePlotRange.当Histogram被一个Plot或类似的命令替换时,不会发生此行为.所以以下产生了一个干净的情节

Figure[{FigurePanel[{{0, 1}, {0, 1}},
   LabB -> textit["x"], BufferB -> 2.5,
   LabL -> textit["p(x)"], BufferL -> 2.5,
   FrameTicks …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica levelscheme

6
推荐指数
1
解决办法
885
查看次数

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

考虑以下在MATLAB中生成的任意图形作为示例.基本的想法是我有一个等高线图,我想在右边的子图中展示它的选定切片.在mma中是否有等效的子图?

我现在所做的工作就是将切片和箭头以及两个切片图分别绘制成轮廓图,然后将它们放在胶乳中.但是,我希望能够在mma中做到这一点.我该怎么做呢?

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

在此输入图像描述

wolfram-mathematica levelscheme

5
推荐指数
1
解决办法
3074
查看次数

标签 统计

levelscheme ×3

wolfram-mathematica ×3

plot ×1