本周文件交换精选

我们最好的用户提交

图边距,副图间隔等等……

注意:类似于这个文件交换条目的功能被添加到R2019b中的MATLAB中。
看到TiledLayout每周精选博客文章这就引入了它。

汪东城他本周的选择是tightfig通过理查德牧杖

内容

副图和它的巨大利润

作为对我上次的回应帖子——理查德·约翰逊我们是否可以写帖子来比较类似的条目,例如“箭头”和“waitbars”。只是为了好玩,我在File Exchange中搜索带有该标记的条目“waitbar”之后又回到了接近70的水平。有一天,我可能会抽出时间测试所有这些工具,但不是现在。嘿,就连有很多"服务生"的条目都已经博客有关。

当审阅70份文件的艰巨任务压在我的心头时,我发现了理查德·克罗泽(Richard Crozier)的文件tightfig.它引起了我的注意,因为我喜欢任何与可视化有关的东西,而且人们已经问过(如何摆脱)副图中的大空白。然后,我想起以前见过类似的东西。事实上,布雷特“严格的次要情节”今年早些时候。好了!也许我可以比较一下这两个文件。

在阅读完评论tightfig,其中一名评论者提到另外五项类似的条目(subplot_tightspaceplotssubplot1subplotplustight_subplot).听起来不错!这是一个更合理的审查条目数量。幸运的是,Richard自己已经做了一些评论,但我将尝试在下面添加一些我的评论。

tightfig

首先我想说的是tightfig与其他条目的目的不同。入口页面上的描述很好地解释了其目的:“更改一个图形,使其具有包含图形中所有轴所需的最小大小,而周围没有多余的空间。”注意,这是关于创建图形的外部边界.它的目的不是修改轴之间的任何间隔,这是其他条目的主要目的。我稍后再详细说明。

图(“颜色”,(。8.8.8]); subplot(2,2,1); surf(peaks); shading插值函数标题(“高峰”);ylabel (colorbar“色彩范围”);次要情节(2,2,2);3)图(兰德(10日);包含(“时间”);ylabel (“钱”);次要情节(2、2、3);imshow (“peppers.png”);次要情节(2、2、4);冲浪(膜(1));包含(“x”标签);ylabel (“y”标签);zlabel (“z标签”);

tightfig使用起来非常简单。您只需在创建绘图后调用它,它就会应用于当前的图形。这是我最喜欢这个条目的地方之一。

tightfig;

审查其他条目

在研究其他条目之前,我想指出的是tightfig和其他的很不一样。一个用于收紧图形边界,另一个用于控制/收紧轴边界。因此,这可能不是一个苹果与苹果之间的比较。尽管如此,我还是走了。对了,尽量别把这些名字搞混了。:)

subplot_tight

我发现subplot_tight是最容易使用的,因为它的语法最接近MATLAB函数次要情节.毫不奇怪,它是一个包装次要情节,它增加了一个选项来指定轴与其相邻轴之间的间距。因为它是一个包装器,所以可以对第三个参数使用向量输入语法(见下文)。作者还提供了一个演示脚本来重新创建他的截图。

图;Subplot_tight (2,2,1, .1);Subplot_tight (2,2,2, .05);Subplot_tight (2,2, [3 4], .05);

tight_subplot而且subplot1

tight_subplot而且subplot1非常相似。它们都允许您使用任意的间隔和空白来布局子情节网格。tight_subplot是紧凑的只有这些参数,即间距和空白,而subplot1允许您控制其他轴属性,如标记标签、标签字体大小和轴缩放。我喜欢它给我的能力,有勾标签只显示在外面subplot1(参见下面的例子)。

% tight_subplot图;hA = tight_subplot(3,2, [.])02.03],[。]1 .01],[。]01 . 01]);

% subplot1图;subplot1 (3 2“差距”,(。01.03.],“XTickL”“保证金”“YTickL”“保证金”);

spaceplots

spaceplots就像tightfig,即首先用子图创建图形,然后调用spaceplots调整间距和页边距。这个函数不像tightfig,将允许您调整轴之间的间距,而不仅仅是外部空白。我最喜欢的部分是它可以处理不规则网格子图(参见下面的例子)。然而,有一个警告,它只在使用创建的轴上工作次要情节

图;Subplot (2,2, [1 2]);3)图(兰德(10日);Subplot (2,2,3);冲浪(峰);标题(“高峰”)副图(2,2,4);contourf(峰);% 0空白,0.02(规范化)间距空间图([0 0 0 0],[。02年02]);

subplotplus

subplotplus是国王的习惯副情节。它的代价是语法有些晦涩,但是一旦您理解了它(借助示例脚本的帮助),它就可以让您按照自己喜欢的任何配置定制子情节的布局。它甚至还包含了将坐标轴“粘合”在一起的功能,这样它们就有了一个共同的轴。

cell71 = {{[“g”]}, {[“g”]}, {[“g”]}, {[“g”]}, {[“g”]}, {[“g”]}, {[“g”]}};cell41 = {{[“g”]}, {[“g”]}, {[“g”]}, {[“g”]}};图;C = {{{{[]},{[]}};cell41},cell71};[h,labelfontsize] = subplotplus(C);

结论

那么我从这篇评论中得出了什么结论呢?一个问题有多种解决方案!万博 尤文图斯它们都有独特的解决问题的方法,其中一些解决的问题与其他的稍有不同。总的来说,我更喜欢“后处理”类型的函数,tightfig而且spaceplots.我倾向于在粗略的状态下进行探索绘图,一旦我有了自己喜欢的绘图,我就会开始让事情看起来更好。当然,使用像MATLAB这样的交互式工具,即使是“预处理”类型的函数也可以在后面的步骤中引入。

评论

我很想听听看过这些作品的人的意见。给我们你的反馈在这里




发布与MATLAB®R2012b

|
  • 打印
  • 发送电子邮件

评论

如欲留言,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。