MATLAB Answers

How to generate specific number bar graph

13 views (last 30 days)
Hello Sir, I have generated bar graph with 20 columns. But i need to generate specific number example i want to generate 15th column of bar graph.

Accepted Answer

Pawel Jastrzebski
Pawel Jastrzebski on 5 Mar 2018
Hello Ravi,
If you just want to select a specific bar out of your data set, then consider the code below. But you really need to be more descriptive as it's difficult to tell what is it that you want to achieve.
% generate random data set between 1 and 20
data = randi(20,1,20);
x = 1:20;
% plot the 'data'
bar(x, data)
'xTick', x)
% select one specific column
specificColumn = randi(20)
% first way - just plot the selected bar
% second way - plot the selected bar in its place
% using logical vector
vector = false(1,length(data));
vector(specificColumn) = true;
dataChanged = data;
dataChanged(~vector) = 0;
'xTick', x)
% 3rd way - highlight the selected bar
% As in:
b = bar(data);
b.FaceColor = 'flat';
b.CData(specificColumn,:) = [1 0 0];
'xTick', x)
Pawel Jastrzebski
Pawel Jastrzebski on 21 Mar 2018
OK, but this wasn't part of your question. You asked about the way to show a specific bar from the bar chart. I used random function to quickly simulate the user's choice.
What is your code for the 'input'?
This should work:
specificColumn = input('Selecy column:')
However, the 'input' can be anything so if user inputs i.e. char, the rest of the code will fail. You'll need to put some validation in place to make sure that checks if the outcome of the 'input' is an integer - if not, use loop to re-ask for the input.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!