编者按:这个文件被选为MATLAB中心本周的挑选
插曲往往留下很多空的空间绕轴。Tight_subplot允许调整轴沿着页轴线之间的间距,以及。
例如:
[公顷,POS] = tight_subplot(3,2,[01 0.03],[1 0.01],[01 0.01])
for ii = 1:6;轴(ha (ii));(二)情节(randn(10日);结束
集(哈(1:4),‘XTickLabel’,”);集(哈,‘YTickLabel’,”)
佩卡Kumpulainen(2020年)。tight_subplot(NH,NW,间隙,marg_h,marg_w)(//www.tianjin-qmedu.com/matlabcentral/fileexchange/27991-tight_subplot-nh-nw-gap-marg_h-marg_w),MATLAB中央文件交换。检索。
1.1.0.0 | 返回创建的axis对象的位置。允许重置位置后,一些标准的功能,其中重新定位现有的axxes(例如。colorbar) |
启发:COVID-19世界传播动画,calciumImagingAnalysis,imageslices,紧插曲与以厘米为单位,smplot对小数倍,subtightplot,tightPlots,相关矩阵散点图
Donald Romarick ROTIMBO MBOUROU (diyinfo.net)(查看配置文件)
亲爱的developper,
好工作!这是一个很好的函数,当您可以绘制几个图以进行更好的比较时。
谢谢柠多为你的分享!
Aleix巴黎(查看配置文件)
勇王(查看配置文件)
约拿明珠(查看配置文件)
这是惊人的!MATLAB给出了警告“一个循环中的轴(h)可能会变慢”。Is there a way to avoid having to call axes?
奥斯卡赛普施泰纳(查看配置文件)
laurent jalabert(查看配置文件)
嗯...有21个次要情节,它似乎有一些麻烦。请尝试以下代码:
公顷= tight_subplot(3,7,[01 0.03],[1 0.01],[01 0.01])
for ii = 1:21;轴(ha (ii));(二)情节(randn(10日);结束
集(哈(1:4),‘XTickLabel’,”);集(哈,‘YTickLabel’,”)
马特论坛id(查看配置文件)
杨(查看配置文件)
杨(查看配置文件)
SkliUoD(查看配置文件)
马丁•穆勒(查看配置文件)
彼得·蔡(查看配置文件)
里卡尔多·scandroglio(查看配置文件)
约翰(查看配置文件)
亲爱的佩卡,假设3行2个colums经典插曲的身影,你怎么能设置一个排序:
次要情节(3 2 [1:2])? ? ? ?
不可能将一个图形跨越到两个垂直或水平的连续面板上吗?
非常感谢您的意见,显然你不错的贡献。
Kaushik位于(查看配置文件)
Vadym Faryna(查看配置文件)
少林(查看配置文件)
圣地亚哥·罗德里格斯(查看配置文件)
Xingwang勇(查看配置文件)
伊桑Kyzivat(查看配置文件)
杰罗姆Baranger(查看配置文件)
正是我需要的,非常感谢。
杰克Chaloux(查看配置文件)
工作就像一个魅力!感谢分享
谢死啊(查看配置文件)
云(查看配置文件)
丹尼尔Broullon(查看配置文件)
尼古拉杰·汉森(查看配置文件)
sezen onol(查看配置文件)
Yingxuan王(查看配置文件)
丹尼·艾伦(查看配置文件)
迪米特里Chudinzow(查看配置文件)
Marc Fivaz(查看配置文件)
ant0nis(查看配置文件)
Siyao胡(查看配置文件)
奥利弗·保罗(查看配置文件)
安德里亚·詹尼(查看配置文件)
易于使用!问:当面板靠得很近时,我的一些副图不会显示出来(例如,gap = 0),我可以通过增加边缘的间隙或边距来解决这个问题。这是一个可以解决的bug吗?或者有其他人经历过并且知道一个简单快速的解决方案吗?
赛义德·阿里Baradaran Birjandi(查看配置文件)
趙轰垄(查看配置文件)
非常感谢您对这个功能的共享!
安德斯·伯格(查看配置文件)
市文施(查看配置文件)
请注意,有时TickLabels开始使用此功能删除,如果你想印有可靠使用例如export_fig,你必须调用:
集(GCA, 'XTickLabel',cellstr(num2str(GET(GCA, 'XTICK')')))
集(gca, YTickLabel, cellstr (num2str ((gca, YTick))))
这似乎是唯一的解决方法,不会导致错误的问题!ticklabels。小心!
王梦龄(查看配置文件)
伟大的功能!非常感谢!
zy汉(查看配置文件)
做得好。
绍兴黄(查看配置文件)
赛义德米(查看配置文件)
穆罕默德额敏Mumcuoglu(查看配置文件)
菲利普Colmers(查看配置文件)
Pakorn Wongwaitayakornkul(查看配置文件)
加布里埃尔Nyitrai(查看配置文件)
莎拉莫伦纳(查看配置文件)
马赫迪Torabi(查看配置文件)
谢谢你的帮助的脚本。有什么办法增加一个共同suplabel对所有的X和使用该Y轴?使用其他应用做出额外的空间。
Shahrin伊斯兰教(查看配置文件)
你好。我是一个新的学习者。我需要精简我的次要情节。请帮助我与我的代码附件如下。我不知道如何在我的代码中使用上面的函数。请帮助我。
显示原始图像
图像= imread( 'boardday.jpg');
读取彩色图像并将其转换为灰度图像
MYIMAGE = rgb2gray(图像);
数字;
次要情节(2,1,1);
imshow(图片);标题({“原始”,“图像”});
副区(2,1,2);
imshow(MYIMAGE);标题({ '灰度'; '图片'});
克里斯的人(查看配置文件)
IDAN barazani(查看配置文件)
维克多·雨果苏扎(查看配置文件)
非常有用的功能!恭喜。
Punnag Chatterjee(查看配置文件)
鲍勃达(查看配置文件)
梦瑶冷(查看配置文件)
这是非常简洁的计算非常有用。
彼得Gormsen(查看配置文件)
伟大的工具!非常感谢你
希瑟·米勒(查看配置文件)
天兰(查看配置文件)
尤查布劳(查看配置文件)
伟大的功能。谢谢!
亚当Danz(查看配置文件)
该方法直观、易于使用。我只是希望XTickLabel和YTickLabel在创建坐标轴后不是空的。要把它们放回去,你应该在每个轴上调用这个:
集(H, 'XTickLabelMode', '自动')
集(H, 'YTickLabelMode', '自动')
廖昌永他(查看配置文件)
Georg Wiora(查看配置文件)
伊曼纽尔的老板(查看配置文件)
约翰MARTINEZ(查看配置文件)
谢谢你的贡献!,)
Roxana的Stefanescu(查看配置文件)
这是一个极好的功能!非常感谢您为您的文章!:-)
塞巴斯蒂安部门负责(查看配置文件)
@Megan福勒
您可以使用set和get的组合。这对我来说很有效。
originalSize = GET(GCA, '位置');
cb = colorbar;
集(gca,“位置”,originalSize);
垫(查看配置文件)
谢谢!
梅根·福勒(查看配置文件)
这很有帮助!我不清楚的一个问题是如何添加一个颜色条到一个副情节,而不搞砸与所有其他面板的对齐在图-有没有一个解决方案?
乔纳斯·斯坦(查看配置文件)
谢谢。PS:该 ';'三个如果线后面是不必要的。
如果numel(间隙)== 1;
...
bravomuse(查看配置文件)
真的很有用,谢谢!
格热戈日Knor(查看配置文件)
Mr.Leung(查看配置文件)
非常感谢作者提供的函数命令,非常有用!(非常感谢对你的这段代码中,它对我很有帮助!)
乔纳森弯曲(查看配置文件)
这真的让我的学位论文工作走到了一起很好。我已经使用了数百次,并且极为感激!现在有一个问题,我使用的功能,产生一些不同的情节:是有可能指定两个次要情节的底部占用比顶部的图形区域的少?即顶部情节将有,说在高度500个像素,底部200?干杯。
摩卡(查看配置文件)
ABehrooz(查看配置文件)
grega(查看配置文件)
肖恩Mikula(查看配置文件)
何塞·梅希亚(查看配置文件)
安德鲁钻石(查看配置文件)
很好,但是我不得不添加一个shift参数来阻止左边的刻度标签被截断(如下图所示,其中“bias”参数是一个新的2元素向量输入参数,只是添加到了位置上,如下图所示
'位置',[PX +偏置(2)PY +偏压(1)AXW AXH],...
我想这将是很好有它完全自动居中(不,我知道如何把我的头顶部),但我真的很高兴,你写了这个。谢谢。
佩卡Kumpulainen(查看配置文件)
此功能不遵循的次要情节的默认语法,因为这不是次要情节,但其他功能。第三输入参数是轴之间的间隙。不轴线到集作为图的“CurrentAxes”作为副区的数按序。见的输入参数描述的帮助。
似乎有在Fex的一个古老的版本,我更新了MRE最新版本,这使得更容易顶部现场与彩条等功能,其修改现有轴的位置。
SL(查看配置文件)
关于这里的插曲问题的探讨http://stackoverflow.com/q/35770961/54964其中讨论了用一个例子和副区的第三参数colorbars。
SL(查看配置文件)
不通过省略第三个参数遵循插曲的默认语法。与colorbars失败。
SL(查看配置文件)
桑树的儿子(查看配置文件)
完善!谢谢!
犹尼亚约瑟芬d(查看配置文件)
K E特征(查看配置文件)
你可以找到tightfig.m这里,//www.tianjin-qmedu.com/matlabcentral/fileexchange/34055-tightfig
pingfanyu(查看配置文件)
未定义的函数或变量'tightfig'。
我为什么会遇到这个问题,我该怎么做?
•(查看配置文件)
这是我遇到过的最有用的FEX的贡献之一。谢谢你的努力!
阿什利·汉(查看配置文件)
卓越的功能!
但我有一个问题。当我绘制奇数个子图时,比如7个排列为4*2的图,总是有一个空白图,即使我删除了ha中的最后一个值,也无法删除它。
任何一个有任何想法解决它?
*通过设置轴,XColor和YColorthe的最后一个情节不可见的问题固定。
次要情节(ha (8));集(gca,‘颜色’,‘没有’,‘XColor’,‘没有’,‘YColor’,‘没有’);
纳文Gowdayyanadoddi(查看配置文件)
优秀的功能。我没问题。
Tero(查看配置文件)
FeedMeImATroll(查看配置文件)
优秀的功能,谢谢。我遗漏的一件事是:是否有一种方法来连接不同的副情节,就像副情节(4,2,[1,3,5])?
哈迪(查看配置文件)
培特(查看配置文件)
TNX,伟大的工作
恩里科·方达(查看配置文件)
丽娜(查看配置文件)
帕纳约蒂斯Papagiannopoulos(查看配置文件)
这个文件真的帮了我!但是我有一个问题。我想设置x的固定的限制,Y轴在每个subplot.For例如:(轴([0 700 -500 10000]))我试图做,但没有结果。我怎么能做到这一点有什么建议?
艾哈迈德Fasih(查看配置文件)
贝丝(查看配置文件)
菲利普G. Nievinski(查看配置文件)
除了内部空白之外,它还提供了可变的外部空白,这一点很好。我希望它能够支持非对称图,即一个万博1manbetx面板跨越多个行/列。
卢卡斯Koorneef(查看配置文件)
菲利普·瓦伦西亚(查看配置文件)
尼斯,非常方便,虽然在默认情况下,我更喜欢我的刻度标记上留下......别人谁想要这也可能只是国防部的文件..只是在内部循环中删除它设置勾......即
对于ix = 1:Nw
2 = 2 + 1;
ha(ii) =坐标轴(“单位”、“规格化”、……
'位置',[PX PY AXW AXH]);
PX = PX + AXW +间隙(2);
结束
托马斯(查看配置文件)
加Haspel(查看配置文件)
有用的,做什么它声称
乔瓦尼(查看配置文件)
这是一个伟大的剧本。我遇到那个让我蜱消失的错误。下面是一个示例:
图('position',[100 100 1000 600])
哈= tight_subplot(1、3、[02, .02],[点。08],[1。02]);
用于=公顷”
持有(a,“所有”)
箱(一,“上”)
xlim (,。1 10])
ylim(A,[ - 90 10])
结束
集(哈,‘xscale’,‘日志’,“字形大小”,字形大小,ytick, 100:10:20, yticklabel, [],“yminortick”,“上”)
集(公顷(1)中, 'yticklabel', - 100:10:20)
1%
散射(公顷(1),x11,10 *日志10(Y11),30,[0 0.5 0], 'X');
散射(ha (1) x12 10 * log10(日元)、30日(0 0 1),“填满”);
2%
散射(ha (2) x21 10 * log10 (y21)、30日(0 5 0),“x”);
散射(HA(2),x22,10 *日志10(Y22),30,[0 0 1], '填充');
3%
散射(ha (3) x31 10 * log10 (y31)、30日(0 5 0),“x”);
散射(ha (3) x32 10 * log10 (y32)、30日(0 0 1),“填满”);
我希望看到xticks的。1,1和10,但在我的系统,他们简单地消失。如果我尝试,并将它们添加手动日志规模被搞砸了,所以肯定在周围的另一种方式。我用Matlab R2012a。
谢谢!
马林(查看配置文件)
真正优秀的文件,谢谢。也许一个额外的例子不会是在为新的Matlab的用户更好地了解如何使用此文件中的注释是一个坏主意。
我有但如果我可以问他们这里有两个问题...
1.怎么在y轴上加数字?(当然只在最右边)
2.我怎样写X&Y标签?(只有一个适用于所有轴)
提前谢谢你。
alexpapi(查看配置文件)
凯文Claytor(查看配置文件)
非常好,需要像这样的东西,它很容易使用。
江民张(查看配置文件)
我不能做任何事情,但给一个五星级的!绝对比MathWorks公司更聪明!
Aditya(查看配置文件)
嘿,
伟大的功能。遗憾的是我碰到它,我花后过多的时间去写一个类似的功能。正如一些人上面说的,我想要的功能,多行/列跨越次要情节的工作。所以我包含在以下功能的能力:
//www.tianjin-qmedu.com/matlabcentral/fileexchange/35464-spaceplots
只是认为这可能是一些有用的。
卡尔(查看配置文件)
我支持丹说的话。跨越多个列/行是非常有用的。例如:
哈= tight_subplot (2, 2, 0.1, 0.1, 0.1)
轴(ha(1));情节(x1, y1);
轴(HA(2));图(X2,Y2);
轴(公顷([3 4]))情节(X3,Y3);
拉克什Chalasani(查看配置文件)
拉维(查看配置文件)
非常感谢你的剧本。
马修·施罗德(查看配置文件)
伟大的工作。如果能让副图填满uipanel而不是填满整个图形就好了(不要在GUI中使用)。
马修·施罗德(查看配置文件)
卡洛斯Baiz(查看配置文件)
丹(查看配置文件)
尼斯功能,一个是我来依靠。这将是巨大的,如果轴可以跨越多个列/行,你可以使用内置的插曲做。否则,伟大的。
布伦特Boehlert(查看配置文件)
噢,我不知道评分意味着提交。优秀的功能,节省了我吨的时间,以产生图形通过GIS。不知道为什么subplot命令有这个问题,但是感谢您解决它!
布伦特Boehlert(查看配置文件)
科斯去(查看配置文件)
艾纳Olason(查看配置文件)
优秀的小脚本!非常感谢!
不过,我有一个建议:与其说“axis (ha(ii))”,还不如说“subplot(ha(ii);”。在并排设置两个图时,使用坐标轴给了我不可预知的行为。我会(几乎总是)绘制右边的坐标轴,不管我多么频繁地尝试给出“坐标轴(ha(1))”命令(或者“坐标轴(ha(2))”)。用附图解决了这个问题。不知道为什么…
托马斯(查看配置文件)
良好的工作。我需要创建多个地块与环内的几个子图。空地块作为结果和Matlab遇到了麻烦,被打破了,直到我重新启动它。即使是图(1:100,兰特(1,100))将返回一个空的身影。无论如何,我返回的轴位置矩阵“HA”的值,并除去内部轴命令。当我准备在我正在创建一个特定的插曲位置我叫的人物之一绘制:
图(H4);
副区( '位置',HA4(FC4).POS);P =情节(1:100,兰特(1,100));
其中HA4(FC4).POS对应于带手柄“H4”图中的副区fc4'th位置。
亚历山大(查看配置文件)
谢谢你的贡献。我非常喜欢它。
在我看来,输入检查应该是这样的:
如果nargin <3 ||的isEmpty(间隙);间隙= 0.02;结束
如果nargin<4 ||为空(marg_h);marg_h = . 05;结束
如果nargin<5 ||为空(marg_w);marg_w = . 05;结束
所以,你可以修改marg_w,并采取默认的其他参数。
tight_subplot(NROWS,ncolumns,[],[],[1.05]);
亚历克斯(查看配置文件)
我不知道什么MathWorks公司与他们的日常次要情节的思维......这是好得多