Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab plotyy函数显示两个x轴,但只需要一个_Matlab - Fatal编程技术网

Matlab plotyy函数显示两个x轴,但只需要一个

Matlab plotyy函数显示两个x轴,但只需要一个,matlab,Matlab,我正在使用plotyy函数生成下图中的图表 我对这个图表有两个问题。第一个问题是有两个x轴,我希望图表左侧的零与右侧的零平齐。不管怎样,我能做到这一点吗 最后,我想把一些标签放在x轴上,但是你可以看到,我的标签上面有数字。我只希望标签是可见的,而我似乎做不到 下面是我的代码 x_labels = data_cell(2:end, 1); risk_tot = cell2mat(data_cell(2:end, 2)); risk_cont = cell2mat(data_cell(2:e

我正在使用plotyy函数生成下图中的图表

我对这个图表有两个问题。第一个问题是有两个x轴,我希望图表左侧的零与右侧的零平齐。不管怎样,我能做到这一点吗

最后,我想把一些标签放在x轴上,但是你可以看到,我的标签上面有数字。我只希望标签是可见的,而我似乎做不到

下面是我的代码

 x_labels = data_cell(2:end, 1);
 risk_tot = cell2mat(data_cell(2:end, 2));
 risk_cont = cell2mat(data_cell(2:end, 3));

 [pp,h1,h2]=plotyy((1:length(risk_tot)),risk_tot,(1:length(risk_tot)),risk_cont,'bar','stem');

 set(gca,'XtickL',x_labels);
 set(h1,'FaceColor',my_Blue2(40,:),'EdgeColor',my_Blue2(40,:))
 set(h2,'Color',my_Orange(1,:),'LineWidth',0.5,'MarkerEdgeColor',my_Orange(1,:))

 set(pp(1),'Box','off')
 set(pp(2),'Box','off')
更新

我已经设法解决了x轴标签的第二个问题。我只是在下面加了一行。这会将第二个x轴标签设置为空

仍然无法解决第一个问题

set(pp(2),'XTickLabel',[]);
尝试:


您可能需要使用
pp(1).Ylim=…
调整轴限制以获得所需的结果。

谢谢,我现在只有一个x轴。然而,它切断了我图表的一部分(一个变量相当大,令人恼火)。我尝试使用pp(1),Ylim=y2_max;但是,收到一条错误消息“Structure assignment to non Structure object.”我认为
pp(1).Ylim
语法只适用于最新版本(R2014b)。对于较旧的版本,如果我的记忆良好,我认为它类似于
set(pp(1),'Ylim',[0 y2_max])
。如果你有两个不同大小的轴,链接轴的缺点是一个图看起来很小。。。
linkaxes(pp,'y')