Help with axes labels on histogram plot
16 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Nadeau Hahne
il 6 Nov 2023
Risposto: Steven Lord
il 6 Nov 2023
Hello,
I am simply trying to add labels to this histogram under the the middle of the columns and I am unable to figure out how to add for the other two columns.
histogram(F)
title('Distribution of Traction Forces')
xticks(0.0135)
xticklabels("0.149")
yticks(1:5)
1 Commento
Dyuman Joshi
il 6 Nov 2023
"... I am unable to figure out how to add for the other two columns."
Supply the values for the other two columns as well, along with the first one.
Risposta accettata
Image Analyst
il 6 Nov 2023
You're manually telling it to do just one tick label. Let it do it automatically and you'll get them. Get rid of the calls to xticks and xticklabels.
F = [.149, .194, .298*ones(1, 5), 3*.149];
histogram(F)
title('Distribution of Traction Forces')
xlabel('Value');
ylabel('Count');
0 Commenti
Più risposte (1)
Steven Lord
il 6 Nov 2023
If you want the labels to be only in the center of the bars, use the BinEdges property of the histogram to compute where the ticks should be. I'll make a histogram with 17 bins (so the math doesn't work out quite so nicely.)
x = randn(1, 1e5);
n = 17;
h = histogram(x, n);
This has n+1 (in this case, 18) edges.
E = h.BinEdges
Use diff to compute the width of each bin (or for uniform bins, like this histogram has, use the BinWidth property.)
W = h.BinWidth % or
W = diff(E)
Each bin center is the left edge plus half the bin width. But the last bin edge isn't involved at this step; we don't need the "center" that's past the right edge of the histogram.
C = E(1:end-1) + W/2
Now set those ticks.
xticks(C)
0 Commenti
Vedere anche
Categorie
Scopri di più su Annotations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!