Changing values of axis

조회 수: 6 (최근 30일)
Alexander Engman
Alexander Engman 2018년 5월 18일
댓글: Alexander Engman 2018년 5월 21일
Hi!
I have a plot such as in the attached image. As you can see, the y-axis values range from 1E-7 - 10E-7. I would like to rescale it so that it ranges from simply 0.1-1. How would I do that?
Thanks in advance.
Alexander

채택된 답변

Sandro Lecci
Sandro Lecci 2018년 5월 18일
Hi Alexander,
To change the limits of the axis do the following:
set(gca, 'YLim', [0.1,1])
However, your data will not be displayed as they are smaller than the lower limit (0.1). You would want to multiply them by a specific factor, such as *1E6 ?
Best, Sandro
  댓글 수: 1
Alexander Engman
Alexander Engman 2018년 5월 21일
Hi Sandro,
thank you for your answer. The problem is that the plot is a contour plot, meaning my function depends on both the variable on the y-axis and the x-axis. So the values on the y-axis are predetermined and MATLAB formats the axis values automatically. I understand the point behind the formatting but for my purpose it is not ideal. Any ideas?

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

추가 답변 (1개)

Walter Roberson
Walter Roberson 2018년 5월 21일
You can set the axes YTickLabels to whatever you want, including to strings that have nothing to do with the actual Y values.
You can use mat2gray() or the new rescale() to change the y values to your desired range before you plot them.
  댓글 수: 1
Alexander Engman
Alexander Engman 2018년 5월 21일
Thank you Walter. I found an easy solution. I though that multiplying the axis in the contour plot would change the plot values, but of course it doesnt. I just multiplied the y-axis values by 10E6 and then plotted on the appropriate scale.
[C,h]=contour(Vfvecq, rvecq*10^6, OPTq,'Color','k');

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

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by