MATLAB Answers

How to plot string on X-axes and number in Y-axes in figure?

29 views (last 30 days)
Hello,
I want plot my RMSE data value on the y-axes and the string the value on the x-axes for my research work paper.
I need to set legend also. I tried following code but its not working
Following is the sample code
x_axes=['Case-1','Case-2','Case-3','Case-4']
Y_axes=[4,5,6,7]
figure('name','sample','PaperSize',[3.3 2.71],'NumberTitle','off');
plot(Y_axes)
set(gca,'xticklabel',x_axes.')

  0 Comments

Sign in to comment.

Accepted Answer

Steven Lord
Steven Lord on 8 Jan 2021
This doesn't do what you think it does.
x_axes=['Case-1','Case-2','Case-3','Case-4']
x_axes = 'Case-1Case-2Case-3Case-4'
Instead use a string array or a cell array each element of which is a char vector.
x_axes1=["Case-1","Case-2","Case-3","Case-4"]
x_axes1 = 1×4 string array
"Case-1" "Case-2" "Case-3" "Case-4"
x_axes2={'Case-1','Case-2','Case-3','Case-4'}
x_axes2 = 1x4 cell array
{'Case-1'} {'Case-2'} {'Case-3'} {'Case-4'}
But plot is not defined for either string or cellstr variables. You could instead convert that text data to categorical and make a categorical plot.
C = categorical(x_axes1)
C = 1×4 categorical array
Case-1 Case-2 Case-3 Case-4
plot(C, (1:4).^2, 'ko-')

  4 Comments

Show 1 older comment
Tania Islam
Tania Islam on 8 Jan 2021
Thank you so much for your time.
But Case-1 is going away from the starting point of x-axes. How can I bring it on the begining of the x-axes? And also, how can I make case-4 as the last point?
VBBV
VBBV on 8 Jan 2021
% if true
x_axes={'Case-1','Case-2','Case-3','Case-4'}
Y_axes=[4,5,6,7]
figure('name','sample','PaperSize',[3.3 2.71],'NumberTitle','off');
plot(Y_axes)
set(gca,'xticklabel',x_axes.');
xticks(1:4)
Try this

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!