matlab 将XTickLabels添加到分组的单个条形图并绘制为保持状态[复制]

ix0qys7i  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(174)

这个问题在这里已经有答案

Getting a second row of xlabels in matlab graph?(1个应答)
add data label to a grouped bar chart in matlab(1个答案)
4个月前关门了。
我有两种类型的情节。
1.在第一种情况下,我需要在分组条形图中标记单个条形图。下面是一个例子

a=4.54,88.63,27.27,77.27,54.54;31.81,61.36,38.63,68.18,54.54;54.54,61.36,59.09,54.54,50;68.18,27.27,56.81,34.09,50;90.90,11.36,68.18,15.90,40.90];
b=0.40,0.55,0.70,0.85,1;1.39,1.54,1.69,1.84,1.99;2.340,2.49,2.64,2.79,2.94;3.36,3.51,3.66,3.81,3.96;4.29,4.44,4.59,4.74,4.89];
figure,
hold on
for i=1:5
  
bar(b(i,:),a(:,i))
end
figure,
hold on
for i=1:3
    plot(b(i,:),a(:,i))
end

对于条形图,我喜欢在水平线上标记,如图所示,数字存储在另一个矩阵中,比方说b)类似地,我也希望XTickLables使用b中的值来绘制线状图。

xjreopfe

xjreopfe1#

您必须首先定义xticksXTickLables
例如,您可以编写:

a=[....];
b=[....];
c=[0.5,1,1.5,2,3];
D = {'0.5','1','1.5','2','3'};

figure,
hold on
for i=1:5
          
bar(b(i,:),a(:,i));

xticks(i) = c(i); %% first you define the ticks

XTickLables{i} = d(i); %% second you define the labels
         
end

对于与您展示的完全相同的情节,我认为您需要两个嵌套的for循环。
更多信息请点击此处:https://de.mathworks.com/help/matlab/ref/xticklabels.html

相关问题