我无法在条形图顶端上方绘制值,XEndPoints不起作用



我使用的是Matlab 2018b,我想绘制条形尖端上方的值,其中

A=[4, 8 , 20 ,5];
B=[1,3 4 ,8 ];y

我想在条形图上方写字符串,但当我使用XEndPoints时,会显示以下消息:

No appropriate method, property, or field 'XEndPoints' for class 'matlab.graphics.chart.primitive.Bar'.

我的代码:

function DisplayBarTopsisSawRankReversal(A,B,...  
X1,X2)

max1= max(A(1,:));
max2=max(B(1,:));
MAX=max(max1,max2);
% This will produce 4 groups of 3 different colored bars
x = [1 2 ];


y = [A;B];
Bar = bar(x,y);  % h will have 3 handles, one for each color of bars


set(Bar, {'DisplayName'}, {'Txt1','Txt2'}');
legend() ;



somenames={X1,X2};
set(gca,'xticklabel',somenames);
ylabel('Rank Reversal Ratio [%]')

ylim([0 MAX+30]);


%text(xtips1,ytips1,string( ) ,'HorizontalAlignment','center','VerticalAlignment','bottom')
opts = {'VerticalAlign','middle', 'HorizontalAlign','left', ...
'FontSize',8, 'Rotation',90};

text(1, A(1) ,'s' , opts{:});
numel(Bar)

xtips2 = b(2).XEndPoints;
end

如何在我的案例中添加字符串?

'XEndPoints'是Matlab R2019b中的一个新特性。如果您尝试绘制单个条形图,这可能会对您有所帮助:

bar(data);
for i = 1:length(data)
text(i, data(i), num2str(data(i), '%g'),...
'HorizontalAlignment','center','VerticalAlignment','bottom');
end

当您决定绘制分组条形图时,最好将Matlab更新为R2019b。

还有另一种方法可以解决这个问题:设计自己的功能"MyBar";使用函数";矩形";。

相关内容

  • 没有找到相关文章

最新更新