Align xticklabels along horizontal line
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I have this bar chart, and I need that the xticklabels (the days) have to be aligned along horizontal line. I need, that the days start at the same horizontal line. The days are defined as categorical values:
Xday1=categorical({'Jan.3','Jan.4','Jan.12','Jan.13','Feb.23','Feb.24','Mar.1','Mar.2','Apr.6', ...
'Jun.12','Jun.16','Jul.12','Jul.13','Oct.5','Oct.27','Oct.28','Oct.29','Nov.19','Nov.20'});
Xday1=reordercats(Xday1,{'Jan.3','Jan.4','Jan.12','Jan.13','Feb.23','Feb.24','Mar.1','Mar.2','Apr.6', ...
'Jun.12','Jun.16','Jul.12','Jul.13','Oct.5','Oct.27','Oct.28','Oct.29','Nov.19','Nov.20'});
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1518641/image.png)
Also, I need to double or triple the bar width, but when I set the bar widths to 2, the bars start ovelapping.
Any help would be appreciated.
Petr
4 Kommentare
Dyuman Joshi
am 23 Okt. 2023
What are the variables used in the call to bar()? Provide the values for them as well.
Also, why are you dynamically naming variables?
Antworten (1)
Walter Roberson
am 23 Okt. 2023
In theory...
labels = {'123', '1234', '12345678'};
ax = gca;
bar(ax, [3 5 7])
xticks(ax, 1:3)
xlim(ax, [0 4])
xticklabels(ax, labels)
xtickangle(ax, 90)
drawnow(); %needed or TickLabelChild will be empty
ax.XAxis.TickLabelChild.HorizontalAlignment = 'right'; %left center right
ax.XAxis.TickLabelChild.VerticalAlignment = 'bottom'; %top middle bottom
You can see in practice it does not work
0 Kommentare
Siehe auch
Kategorien
Mehr zu Bar Plots 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!