pzplots - Yticks和Colorbar问题

时间:2016-10-12 18:40:34

标签: matlab plot

我正在使用 pzmap 为不同的 L 值绘制系统极点和零点。但是该图在右侧有额外的YTick标签,我在轴属性中看不到。另外,我没有对应于恒定阻尼网格线的句柄,其颜色和属性我想改变。

MWE

clear;clc
cb=parula(10);
s=tf('s');
L_array=5:5:50;

figure; hold on;
for i=1:length(L_array)
    L=L_array(i);
    G=((58.2+11.7*L)*s^2*25^2+(3996.8 + 815.7*L)*s*25+815.7*25^2)/(s^2*(s^2*25^2+126.9*s*25+(3996.8+1.9*25^2)));
    CL=feedback(G,1);
    pzmap(CL);
end
h = findobj(gca,'type','line'); 
for jj=2:length(h)
    set(h(jj),'MarkerSize',12,'Color',cb(floor(jj/2),:));
end
grid;

colormap(parula);
c=colorbar;

色条也被反转,即蓝色对应于较大的 L ,反之亦然。我想倒掉它!提前谢谢!

1 个答案:

答案 0 :(得分:0)

我找不到绘图中所需对象的任何句柄。但是,我有一些额外的见解。与 pzmap 对应的网格本身具有 sgrid 。此网格的句柄不会显示在 gca 属性中。所以你无能为力。即使 pzoptions 也无法修改这些设置。另外,附加的 Y-Ticks 对应于恒定固有频率的线。

或者,最好直接使用 sgrid 命令。要选择恒定阻尼线,

z = [0, 0.25, 0.5, 0.75, 1];

删除其他 Y-Ticks

wn = [];

现在,使用 sgrid grid 命令获取您想要的任何内容。

sgrid(z,wn);
grid;

我仍然无法更改与 sgrid 关联的网格线的任何属性,但它仍然可以改善绘图的外观。这个问题仍有待调查。