本周文件交换选择

我们最好的用户反馈

图边距,子图间距,和更多…

注意:类似于此文件交换条目的功能在R2019b中添加到MATLAB中。
看到TiledLayout本周最佳博客文章这就引入了它。

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

内容

次要情节及其巨大的利润

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

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

阅读完评论tightfig,其中一位评论者提到了另外5个类似的词条(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, [.]01 .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帐户或创建一个新帐户。