BARH用彩条:2012B和2014B之间的差异

10次​​(最近30天)
D.贝诺
D.贝诺 21 2014年十一月
评论: D.贝诺24 2014月
我有一个功能BARH升级时从MATLAB 2012B到MATLAB2014b问题。
我有以下功能
功能并[h] = barh_colored(PHI,Cmin的,CMAX,对数线性)
%该功能的无题总结到这里
%详细的解释放在这里
nbars2 = 64;
如果的C max〜= -1
xbars = Cmin的:(的Cmax-Cmin的)/(nbars2-1):的C max;
[计数,X] = HIST(PHI,xbars);
其他
[计数,X] = HIST(PHI,nbars2);
结束
如果STRCMP(对数线性,“日志”
H = BARH(X,日志10(计数),1);
其他
H = BARH(X,计数,1);
结束
集(GCA,'YAxisLocation''对');
CH = GET(H,“孩子们”);
FVD = GET(CH,“面孔”);
fvcd = GET(CH,'FaceVertexCData');
CMAP = GET(GCF,“颜色表”);
颜色表(CMAP);
对于I = 1:nbars2
fvcd(FVD(I,:))= I;
结束
集(CH,'FaceVertexCData',fvcd)
如果的C max〜= -1
ylim([Cmin的的C max]);
结束
结束
此代码工作正常使用MATLAB 2012B。它产生这样的情节:
最近我切换到MATLAB 2014B和代码不工作了。原因是BARH对象没有孩子了,所以说:
CH = GET(H,“孩子们”);
返回一个空GraphicsPlaceHolder对象。
我该如何解决这个问题?
达尼贝诺

0评论

登入评论。

接受的答案

道格·赫尔
道格·赫尔 21 2014年十一月
儿童的酒吧属性不再可用。
这是沿着你想要完成的任务线:
巴([1楠楠]'facecolor',[1 0 0])
保持
杆([楠2楠]'facecolor',[0 1 0])
巴([楠楠3],'facecolor',[0 0 1])
保持

1条评论

D.贝诺
D.贝诺 24 2014月
喜道格,
感谢您的回答。我更新过的我的功能
功能barh_colored(PHI)
nbars2 = 64;
CMAP = GET(GCF,“颜色表”);
[计数,X] = HIST(PHI,nbars2);
Y = NaN的*一(1,nbars2);
对于I = 1:nbars2
Y1 = Y;
Y1(ⅰ)=计数(ⅰ);
BARH(X,Y1,'BarWidth'1,...
'facecolor',CMAP(I,:));
如果我== 1,保持结束
结束
集(GCA,'YAxisLocation''对');
结束
达尼贝诺

登入评论。

更多的答案(1)

亚光破折号
亚光破折号 在22月2014
我跑进这个确切的同样的问题。我写我自己的酒吧功能结构禁止补丁并包装他们的hggroup,所以输出是用于工作的方式栏完全兼容解决它。这不是很困难的,特别是如果你不需要任何的高级功能,如堆叠/分组条。
(对不起,我知道这是不是最有用的答案,但一些思考)
我主要是新的图形的大风扇,但酒吧似乎真的走了下坡路。我真正的问题是,你运行调整条形图任何时间非常缓慢限制检查方法......几乎使他们在大量无法使用(副区等)。

0评论

登入评论。

登入回答这个问题。