Plot range of values in a bar graph
31 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am looking to create a bar graph that outputs a certain range of values, for example the minimum to maximum temperature of a Body. The label on the x axis to the appropriate bar should be a char representing the name of the Body (So in this simple example the output would be just one bar graph). How can I do this?
0 Kommentare
Antworten (2)
Ameer Hamza
am 16 Okt. 2020
Bearbeitet: Ameer Hamza
am 16 Okt. 2020
This is one of the possible ways
x = categorical({'First label', 'Second label', 'Third label'});
ymin = [1 2 5]; % heights of bar
ymax = [4 9 8];
b = bar(x, [ymin; ymax-ymin].', 'stacked');
b(1).Visible = 'off';
2 Kommentare
Ameer Hamza
am 16 Okt. 2020
Updated answer shows how you can achieve the result as you mentioned in comment.
Star Strider
am 16 Okt. 2020
I was not certain what result you wanted when I replied to your Comment to Plot range of values as bars. I gave a sort of general reply.
Try this slight variation on that code:
Tmax = randi([25 30], 1, 10); % Create Data
Tmin = randi([15 20], 1, 10); % Create Data
days = 1:10; % Create Data
figure
plot([days; days], [Tmin; Tmax], 'LineWidth',5)
xlabel('Day')
ylabel('Temperature Range (°C)')
ylim([10 40])
xlim([0 11])
grid
xtl = compose('Day #%2d',days);
Ax = gca;
Ax.XTickLabel = [];
set(gca,'XTick',days, 'XTickLabel',xtl, 'XTickLabelRotation',15)
.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Graphics Object Properties 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!