编者按:该文件被选为中央MATLAB本周精选
子图往往会在坐标轴周围留下大量的空白。Tight_subplot允许调整轴之间的间距以及轴周围的边距。
例如:
[ha, pos] = tight_subplot(3,2,[])。01 . 03]、[。1 . 01],[。01 . 01])
对于II = 1:6;轴(ha (ii));(二)情节(randn(10日);结束
集(哈(1:4),‘XTickLabel’,”);集(哈,‘YTickLabel’,”)
佩卡Kumpulainen(2020年)。tight_subplot(NH,NW,间隙,marg_h,marg_w)(//www.tatmou.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)(查看资料)
亲爱的开发,
好工作!这是一个很好的函数,当您可以绘制几个图以进行更好的比较时。
谢谢柠多为你的分享!
Aleix巴黎(查看资料)
王勇(查看资料)
约拿珍珠(查看资料)
这是惊人的!MATLAB给出了警告“一个循环中的轴(h)可能会变慢”。Is there a way to avoid having to call axes?
奥斯卡塞普尔韦达施泰纳(查看资料)
洛朗·贾拉贝尔(查看资料)
嗯…它有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(查看资料)
约翰(查看资料)
亲爱的Pekka,假设一个经典的子情节图有3行和2列,你如何设置一个排序:
副区(3,2,[1:2])????
不可能将一个图形跨越到两个垂直或水平的连续面板上吗?
非常感谢您的意见,显然你不错的贡献。
考希克萨姆帕斯(查看资料)
Vadym Faryna(查看资料)
少林(查看资料)
圣地亚哥·罗德里格斯(查看资料)
兴旺勇(查看资料)
伊桑Kyzivat(查看资料)
杰罗姆Baranger(查看资料)
正是我需要的,非常感谢。
杰克Chaloux(查看资料)
工作就像一个魅力!感谢分享
新航谢(查看资料)
云(查看资料)
丹尼尔Broullon(查看资料)
尼古拉杰·汉森(查看资料)
sezen onol(查看资料)
颖轩王(查看资料)
丹尼·艾伦(查看资料)
迪米特里Chudinzow(查看资料)
马克菲瓦(查看资料)
ant0nis(查看资料)
Siyao胡(查看资料)
奥利弗·保罗(查看资料)
安德里亚·詹尼(查看资料)
易于使用!问:当面板靠得很近时,我的一些副图不会显示出来(例如,gap = 0),我可以通过增加边缘的间隙或边距来解决这个问题。这是一个可以解决的bug吗?或者有其他人经历过并且知道一个简单快速的解决方案吗?
赛义德·阿里Baradaran Birjandi(查看资料)
赵Honglong(查看资料)
非常感谢你分享这个功能!
安德斯·伯格(查看资料)
市文施(查看资料)
请注意,有时TickLabels开始使用此功能删除,如果你想印有可靠使用例如export_fig,你必须调用:
集(GCA, 'XTickLabel',cellstr(num2str(GET(GCA, 'XTICK')')))
集(GCA, 'YTickLabel',cellstr(num2str(GET(GCA, 'YTick')')))
这似乎是不会引起问题与错误的唯一的解决方法!ticklabels。小心!
王Mengling(查看资料)
伟大的功能!非常感谢!
zy汉(查看资料)
做得好。
绍兴黄(查看资料)
赛义德米(查看资料)
穆罕默德Emin Mumcuoglu(查看资料)
菲利普Colmers(查看资料)
Pakorn Wongwaitayakornkul(查看资料)
加布里埃拉Nyitrai(查看资料)
萨拉·莫利纳利(查看资料)
马赫迪Torabi(查看资料)
谢谢你的帮助的脚本。有什么办法增加一个共同suplabel对所有的X和使用该Y轴?使用其他应用做出额外的空间。
Shahrin伊斯兰教(查看资料)
你好。我是一个新的学习者。我需要精简我的次要情节。请帮助我与我的代码附件如下。我不知道如何在我的代码中使用上面的函数。请帮助我。
%显示原始图像
图像= imread( 'boardday.jpg');
%阅读彩色图像,并将其转换为灰度图像
myimage = rgb2gray(图片);
图;
次要情节(2,1,1);
imshow(图像);标题({ '原始'; '图像'});
副区(2,1,2);
imshow(模板);标题({“灰度”;“图像”});
克里斯的人(查看资料)
艾丹•barazani(查看资料)
维克多·雨果苏扎(查看资料)
非常有用的功能!恭喜。
Punnag查特吉(查看资料)
鲍勃达(查看资料)
Mengyao愣(查看资料)
这是非常简洁的计算非常有用。
彼得Gormsen(查看资料)
伟大的工具!非常感谢你
希瑟·米勒(查看资料)
天兰(查看资料)
Yochai benkler布劳(查看资料)
伟大的功能。谢谢!
亚当Danz(查看资料)
这种方法非常直观,易于使用。我只希望XTickLabel和YTickLabel创建轴后未清空。为了重新穿上,你应该把这种各轴:
集(h,“XTickLabelMode”,“汽车”)
集(H, 'YTickLabelMode', '自动')
廖昌永他(查看资料)
乔治·Wiora(查看资料)
老板灵光(查看资料)
约翰MARTINEZ(查看资料)
MERCI倒VOTRE的贡献!;)
罗克珊娜Stefanescu(查看资料)
这是一个极好的功能!非常感谢您为您的文章!:-)
塞巴斯蒂安·库克拉(查看资料)
@Megan福勒
您可以使用set和get的组合。这对我来说很有效。
originalSize = get(gca, 'Position');
cb = colorbar;
集(gca,“位置”,originalSize);
垫(查看资料)
谢谢!
梅根·福勒(查看资料)
这是非常有帮助!有一个问题我在是如何将彩条添加到一个插曲没有在图搞砸了对齐与所有其他面板不清楚 - 是否有此修复程序?
乔纳斯斯坦(查看资料)
谢谢。PS:该 ';'三个如果线后面是不必要的。
如果numel(间隙)== 1;
...
bravomuse(查看资料)
真的很有用,谢谢!
格热戈日Knor(查看资料)
Mr.Leung(查看资料)
非常感谢作者提供的函数命令,非常有用!(非常感谢对你的这段代码中,它对我很有帮助!)
乔纳森弯曲(查看资料)
这使得我的论文很好地完成了。我用过几百次了,非常欣赏!现在我使用这个函数来生成一些不同的图,这里有一个问题:是否可以指定两个子图的底部占用的图形区域比顶部少?也就是说,上面的图高度是500像素,下面的是200像素?欢呼。
摩卡(查看资料)
ABehrooz(查看资料)
grega(查看资料)
肖恩Mikula(查看资料)
何塞·梅希亚(查看资料)
安德鲁钻石(查看资料)
不错,但我不得不添加移位参数从被截断(按下面这里的“偏见”参数是一个新的2元向量输入ARG和刚刚添加到位置描述如下停在左边我的刻度标记
'位置',[PX +偏置(2)PY +偏压(1)AXW AXH],...
我想让它完全自动居中会很好(不是说我不知道我是怎么想的),但我真的很高兴你写了这个。谢谢。
佩卡Kumpulainen(查看资料)
这个函数不遵循subplot的默认语法,因为这不是subplot,而是另一个函数。第三个输入参数是轴之间的间隙。不是轴的数字顺序设置为'当前税'的数字,如在附图。有关输入参数的说明,请参阅帮助。
在Fex中似乎有一个古老的版本,我更新了一个mre的最新版本,这使它更容易顶部生活与彩条和其他功能,修改现有的轴的位置。
SL(查看资料)
关于这里的插曲问题的探讨http://stackoverflow.com/q/35770961/54964其中彩条与一个例子和subplot的第三参数进行了讨论。
SL(查看资料)
不遵循subplot的默认语法,省略了第三个参数。失败与彩色的。
SL(查看资料)
桑子(查看资料)
完美!谢谢你!
犹尼亚安约瑟芬D(查看资料)
K E(查看资料)
你可以找到tightfig。在这里,//www.tatmou.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轴的固定极限。例如:(axis([0 700 -500 10000]))。我试着去做,但没有结果。关于如何做到这一点,有什么建议吗?
艾哈迈德Fasih(查看资料)
贝丝(查看资料)
费利佩•g . Nievinski(查看资料)
除了内部空白之外,它还提供了可变的外部空白,这一点很好。我希望它能够支持非对称图,即一个金宝app面板跨越多个行/列。
卢卡斯Koorneef(查看资料)
菲利普·瓦伦西亚(查看资料)
尼斯,非常方便,虽然在默认情况下,我更喜欢我的刻度标记上留下......别人谁想要这也可能只是国防部的文件..只是在内部循环中删除它设置勾......即
对于ix = 1:Nw
2 = 2 + 1;
ha(ii) =坐标轴(“单位”、“规格化”、……
'位置',[PX PY AXW AXH]);
PX = PX + AXW +间隙(2);
结束
托马斯(查看资料)
加尔Haspel的(查看资料)
有用,做它声称的
乔凡尼(查看资料)
这是一个很棒的脚本。我遇到了一个让我的蜱虫消失的错误。这是一个示例:
图( '位置',[100 100 1000 600])
公顷= tight_subplot(1,3,,,[02,0.02。] [12,0.08。] [1,0.02。]);
用于=公顷”
保持(一,“全部”)
箱(一,“上”)
XLIM(A,[1 10])
ylim(A,[ - 90 10])
结束
集(公顷, '的XScale', '记录', '字体大小',fontSize的, 'ytick', - 100:10:20, 'yticklabel',[] '上', 'yminortick',)
集(ha (1) yticklabel, 100:10:20)
1%
散射(公顷(1),x11,10 *日志10(Y11),30,[0 0.5 0], 'X');
散射(公顷(1),x12,10 *日志10(Y12),30,[0 0 1], '填充');
2%
散射(HA(2),x21,10 *日志10(Y21),30,[0 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.tatmou.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图形功能优良。不知道为什么插曲命令有这个问题,但由于解决了!
布伦特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 ||的isEmpty(marg_w);marg_w = 0.05;结束
所以,你可以修改marg_w,并采取默认的其他参数。
tight_subplot (nrows ncolumns, [] [], [。1 . 05]);
亚历克斯(查看资料)
我不知道mathworks对于他们的子情节例程是怎么想的……这样好多了