Help with centralling text values above a Bar Chart with side by side data
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello, I am plottign a barchart from data from a uitable. I have 2 ydata sets that I plot next to each other as below.
I am wanting to display the values on each column bar and I have almost done it. But they are not quite central with respect to the bars. Here is my code:
%Get data from UITABLE
data=get(handles.uitable3,'data');
Y=cell2mat(data(:,4));
X=data(:,2);
%Prepare for catergorical X data
Xdata = categorical(X);
X = reordercats(Xdata,X);
axes(handles.axes2);cla reset
%Combine Y data and create bar chart
Y1=cell2mat(data(:,3));
bpcombined = [Y, Y1];
hb = bar(X, bpcombined, 'grouped');
legend({'400-800nm','FilterBand'},'Location','northoutside','FontSize',10,'NumColumns',2)
%Add text to top of barcharts
for i1=1:numel(Y1)
text(X(i1),Y1(i1),num2str(Y1(i1),'%0.0f'),...
'HorizontalAlignment','left',...
'VerticalAlignment','bottom','Color','w')
text(X(i1),Y(i1),num2str(Y(i1),'%0.0f'),...
'HorizontalAlignment','right',...
'VerticalAlignment','bottom','Color','w')
end
%Sometimes the txt is off the plot so resize the ylims (Maybe there is a better way to do this!)
if max(ylim)>=Y(end)
ylim([0 1.10*Y(end)])
end
%Add the axtoolbar (This isn't working for some reason)
ax=gca;
axtoolbar(ax,{'export','restoreview','zoomout','zoomin'});
axtoolbar(ax,'Visible','on')
drawnow;
Akzeptierte Antwort
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!