how to use sprintf for xticklabel?

how to print
a = 0.1005:0.1:1.1005
as, 0.1, 0.2, 0.3, ... 1.0 for tickllabes?
I used sprintf command but the optput is not as expected.
ytl = sprintf('%.2f', 0.1005:0.1:1.1005);
ytl
0.100.200.300.400.500.600.700.800.901.001.10
How to give this as input to xticklabels?

 Accepted Answer

x = 0.1005:0.1:1.1005;
y = randn(size(x));
plot(x, y)
grid
% for x tick format
xtickformat('%.2f')
% Conversion of array to char array
ytl = sprintf('%.2f\n', 0.1005:0.1:1.1005)
ytl =
'0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00 1.10 '

5 Comments

Actually X-values are
X = 1:11;
and instead of 1:11 i want to put 0.1005:0.1:1.1005 as xlabel.
So, could you please correct me.
However, this answer is also helpful, but not going to work in my case.
Not sure what you exactly mean. This is a guess:
x = 1:11;
y = randn(size(x));
plot(x, y);
xtick_pos = 1:11;
xtick_label = sprintf('%.2f\n', 0.1005:0.1:1.1005 );
xticks(xtick_pos);
xticklabels(xtick_label);
Yes, You got me right!
Now, how to get 0.10, 0.20, 0.30 etc as Xticklabels ?
Chunru
Chunru on 15 Aug 2022
Edited: Chunru on 15 Aug 2022
See above for using sprintf. Beware that you may lose the precision of xtick label.
YES!!! magical...
That worked..
Thank you so very much...

Sign in to comment.

More Answers (0)

Asked:

MP
on 15 Aug 2022

Commented:

MP
on 15 Aug 2022

Community Treasure Hunt

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

Start Hunting!