I am trying to plot a graph, but my y-axis labels are wrong. I have created an array for this reason: wavelength = linspace(747.067,802.822,1024); and I want to plot from 760 to 790. It looks that image is correct, but y-axis simply prints out all values from the wavelength array in order. x-axis is working properly although I did it in the same way. I don't know why this is happening. My code:
A = dlmread('c13_1.txt',',');
wavelength = linspace(747.067,802.822,1024);
y = linspace (-15,15,256);
h=pcolor( y, wavelength, transpose(A(:,2:1025)));
set(h,'EdgeColor','none'), set(gca,'Ydir','normal'),set(gca,'FontSize',12)
set(gca,'YTickLabel',wavelength);
ylabel('Energy'), xlabel('k-space');
set(gca,'Ydir','reverse');
axis([-15 15 760 790 ])
Also attaching the plot itself:

댓글 수: 2

KSSV
KSSV 2017년 4월 5일
You mean you have used axis([-15 15 760 790 ]), this and y label should be between 760 and 790?
LG9
LG9 2017년 4월 5일
Yes, this is correct.

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

 채택된 답변

KSSV
KSSV 2017년 4월 5일

1 개 추천

Your plot is correct....actually you are confused with the axes....the y-axis you are talking about is wavelength and it is in proper range as given. See the below to avoid confusion:
% wavelength = linspace(747.067,802.822,1024);
x = linspace (-15,15,256);
y = linspace(747.067,802.822,1024);
A = rand(length(x),length(y)) ;
h=pcolor( x,y, transpose(A(:,2:1025)));
set(h,'EdgeColor','none'), set(gca,'Ydir','normal'),set(gca,'FontSize',12)
set(gca,'YTickLabel',y);
ylabel('Energy'), xlabel('k-space');
set(gca,'Ydir','reverse');
axis([-15 15 760 790 ])

댓글 수: 1

Silver
Silver 2018년 11월 14일
I had the same issue and it works :D thank you for sharing dude !

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Axis Labels에 대해 자세히 알아보기

질문:

LG9
2017년 4월 5일

댓글:

2018년 11월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by