我正在尝试绘制一个函数,同时显示四个象限。我知道之前有过听众的解决方法,但是其他的“解决方案”是在3年前发布的。我喜欢干净的无证解决方案:
%// vertical line
hx = graph2d.constantline(0, 'LineStyle',':', 'Color',[.7 .7 .7]);
changedependvar(hx,'x');
%// horizontal line
hy = graph2d.constantline(0, 'Color',[.7 .7 .7]);
changedependvar(hy,'y');
不幸的是,它在Matlab R2014b中不再起作用。
在MATLAB R2014b中有没有官方的方法来实现这种情节?
答案 0 :(得分:1)
是的,Matlab 2014b的未记录选项是:
h=get(gca);
h.YBaseline.Visible = 'on';
h.XBaseline.Visible = 'on';
h.YBaseline.Color = [0.7 0.7 0.7];
h.XBaseline.Color = [0.7 0.7 0.7];
h.XBaseline.LineStyle = ':'
h.YBaseline.LineStyle = ':'
您可以使用的另一种解决方案(不需要h=get(gca)
行):
matlab.graphics.axis.decorator.Baseline('BaseValue',0, 'Parent',gca, 'Axis',0, 'Visible','on','Color',[0.7 0.7 0.7],'LineStyle',':')
matlab.graphics.axis.decorator.Baseline('BaseValue',0, 'Parent',gca, 'Axis',1, 'Visible','on','Color',[0.7 0.7 0.7],'LineStyle',':')
或者,你可以在你的代码之后使用这个记录的技巧,因为它会根据你的情节自动缩放:
h=get(gca); hold on
line(h.XLim,[0 0],'LineStyle',:,'Color',[0.7 0.7 0.7]);
line([0 0],h.YLim,'LineStyle',:,'Color',[0.7 0.7 0.7]); hold off
像往常一样,Yair Altman在他的blog中揭露了这些无证件的特征。