formatting axes for a plot

Hello,
Why whenever I do this to format the x-axis to be between 0-6 and then type (x10^4) it does not show the x-ticks on the x-axis:
xVals = 0:.6:6;
set(gca,'xtick',xVals);
expVal = 4; %exponent you want
set(gca,'XTickLabel',sprintf('%2.1f|',xVals));%10^expVal));
pos = get(gca,'Position');
offset = 0.00; %how far to the right you want the exponent
annotation('textbox',[pos(1)+ pos(3)+offset, pos(2), 0.2, 0.2],...
'String',['$\times 10^' num2str(expVal) '$'],...
'Interpreter','latex',...
'VerticalAlignment','bottom',...
'EdgeColor','none')

 채택된 답변

José-Luis
José-Luis 2013년 1월 1일

0 개 추천

If all you want to do is to add the annotation in your plot, you don't need to add the 'XTicks'.
You could just add this section to your original code:
pos = get(gca,'Position');
offset = 0.00; %how far to the right you want the exponent
annotation('textbox',[pos(1)+ pos(3)+offset, pos(2), 0.2, 0.2],...
'String',['$\times 10^' num2str(expVal) '$'],...
'Interpreter','latex',...
'VerticalAlignment','bottom',...
'EdgeColor','none')

댓글 수: 5

Sam Alex
Sam Alex 2013년 1월 1일
The annotation and x-labels where it is custom: for example my data does from 0-60000 and I want the step to be 6000...I am doing it in the code above as you see but it is not working and I am wondering why!
José-Luis
José-Luis 2013년 1월 2일
I don't understand. How do you want the labels to appear?
Sam Alex
Sam Alex 2013년 1월 2일
I want to force the plot have numbers on the x-axis like this: 0, 0.6, 1.2, 1.8, 2.4, 3.0, 3.6, 4.2, 4.8, 5.4
x = 0:6000:60000;
y = randn(numel(x),1);
plot(x,y,'b-o')
xVals = x;
set(gca,'xtick',xVals);
expVal = 4; %exponent you want
set(gca,'XTickLabel',sprintf('%2.1f|',xVals./(10^expVal)));
pos = get(gca,'Position');
offset = 0.00; %how far to the right you want the exponent
annotation('textbox',[pos(1)+ pos(3)+offset, pos(2), 0.2, 0.2],...
'String',['$\times 10^' num2str(expVal) '$'],...
'Interpreter','latex',...
'VerticalAlignment','bottom',...
'EdgeColor','none')
Sam Alex
Sam Alex 2013년 1월 2일
Thank you

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 1월 1일

1 개 추천

Add to your code
set(gca,'xlim',[0 6])

댓글 수: 4

Sam Alex
Sam Alex 2013년 1월 1일
It did not make a difference!
Azzi Abdelmalek
Azzi Abdelmalek 2013년 1월 1일
편집: Azzi Abdelmalek 2013년 1월 1일
There is a difference, in this case, x-ticks are visibles
close
xVals = 0:.6:6;
set(gca,'xtick',xVals);
expVal = 4; %exponent you want
set(gca,'XTickLabel',sprintf('%2.1f|',xVals));%10^expVal));
pos = get(gca,'Position');
offset = 0.00; %how far to the right you want the exponent
annotation('textbox',[pos(1)+ pos(3)+offset, pos(2), 0.2, 0.2],...
'String',['$\times 10^' num2str(expVal) '$'],...
'Interpreter','latex',...
'VerticalAlignment','bottom',...
'EdgeColor','none')
set(gca,'xlim',[0 6])
Sam Alex
Sam Alex 2013년 1월 1일
Something happens when I add this to my code, it removes all markers and the look of the original plot
Azzi Abdelmalek
Azzi Abdelmalek 2013년 1월 1일
Post the code which is making a problem

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Labeling, Segmentation, and Detection에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by