Changing values of axis

6 次查看(过去 30 天)
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