gpt4 book ai didi

matlab - 在 matlab 中设置 plotyy 函数与文本

转载 作者:行者123 更新时间:2023-12-01 04:51:40 25 4
gpt4 key购买 nike

我需要在单独的 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 字符串仍然在文本字符串下方。

最佳答案

问题的出现是因为plotty 创建了两个 轴。当您执行 set(gca,'XTickLabel',x); 时,您只会影响其中一个轴(gca 仅指一个轴,可能是创建的轴最后)。

解决方法:

  1. 获取两个轴的句柄

    h = plotyy(x2,y1,x2,y2);

    (检查 h 是一个 1x2 句柄向量)

  2. 将两个轴的 'Xticklabel' 属性设置为所需的标签:

    set(h,'XTickLabel',x);

    或者,将其中一个轴的 'Xticklabel' 设置为所需的标签,并将另一个轴设置为 [](无标签):

    set(h(1),'XTickLabel',x);
    set(h(2),'Xticklabel',[])

关于matlab - 在 matlab 中设置 plotyy 函数与文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24187704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com