Centering labels in a bar plot
조회 수: 9(최근 30일)
표시 이전 댓글
How do I center a string under each bar at in a bar plot? Something like the following is the best I can do, but it's a lot of trial-and-error, and the strings are still off center:
x1 = linspace(1,33,33);
x2 = linspace(0.6,33,33);
figure;
bar(x1,y)
xticks(x2)
xticklabels(names)
xtickangle(75)
댓글 수: 0
채택된 답변
dpb
2023년 1월 22일
편집: dpb
2023년 1월 22일
Let bar do the work for you...you didn't supply all the needed code to run the example, but something similar would be
x=1:33; % no need for linspace for integer spacing
y=randi(100,size(x)); % some data to go along with x...
names="Var"+x(:); % make up a a name to go along
names=categorical(names,names,names); % turn into categorical; keep ordering
bar(names,y)
I love to beat up on the bar() function as being a terrible user interface and all, but in this case there's a simple answer.
There is now an example in the bar documentation that illustrates putting a text string at the end of a bar, centered on the bars using the internal properties of the bar object. That's a sizable a step forward from the olden days when it was required to derive that location from the internal data or even worse, when those needed data were made hidden properties for a while...still, it should be a user-settable property, but at least it can be done and is an illustration of the basic "how".
댓글 수: 0
추가 답변(0개)
참고 항목
범주
Find more on Bar Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!