我需要在单独的y轴上绘制两组数据,并将它们与文本
的x进行对比y1 =
0.0217545037216382
0.0218522372528616
0.00848250610252238
0.00631477252766555
0.00836543852985331
0.00404498017959712
0.0111088524041279
0.0137053885611881
0.0127748811974527
0.0127058407416728
y2= [3,3,3,4,5,4,5,4,3,4]
x={'AU10','WI11','SP11','AU11','WI12','SP12','AU12','SP13','AU13','SP14']
我无法绘制vs文字,所以我创建了
x2=[1:10]
plotyy(x2,y1,x2,y2)
然后将x
更改为我使用的文字
set(gca,'XTickLabel',x);
但问题是文本标签下面还有1:10标签,所以我尝试用
删除标签set(gca,'XTick',[])
set(gca,'XTickLabel',[])
和
set(gca,'Ticklength',[0 0])
也尝试用这个替换
set(gca, 'XTickLabel',x, 'XTick',1:numel(x))
但是1:10字符串仍在文本字符串下面。
答案 0 :(得分:1)
问题出现是因为plotty
创建了两个轴。执行set(gca,'XTickLabel',x);
时,您只影响其中一个轴(gca
仅指一个轴,可能是最后创建的轴。)
解决方案:
获取两个轴的句柄
h = plotyy(x2,y1,x2,y2);
(检查h
是1x2句柄向量)
将两个轴的'Xticklabel'
属性设置为所需的标签:
set(h,'XTickLabel',x);
或者,将其中一个轴的'Xticklabel'
设置为所需标签,另一个轴将其设置为[]
(无标签):
set(h(1),'XTickLabel',x);
set(h(2),'Xticklabel',[])