how do I modify the axis in plot(x,y)?
1 次查看(过去 30 天)
显示 更早的评论
Hi, I need to plot the following vectors: x=[0.05 0.1 0.3 0.5 1 5 10 20 30 40 50] y=[0.8 0.83 0.9 0.93 0.93 0.9 0.9 0.94 0.95 0.95 0.95] plot(x,y)
My problem is that the vector x don't appears explicitly in the axis and also the scale of the axis is not constant. I need something like:
----------------------------------------------------
0.05 0.1 0.3 0.5 1 5 10 200 ...
your help will be very useful for me
0 个评论
采纳的回答
Matt Tearle
2011-3-7
So you want the x-axis to be nonlinear (but not necessarily log)? Well, you can always cheat. Do what Matt Fig suggests, but change the plot command to just plot(y) and the next line to
set(gca,'XTick',1:length(x))
2 个评论
Matt Tearle
2011-3-8
I'm not sure I understand what you're after. If you want to leave a bit of space above and below the data, just use axis or ylim and pad it out a bit: ylim([ymin-dy ymax+dy]) (where dy is some small "padding" value)
更多回答(2 个)
Matt Fig
2011-3-7
Is this more to your liking?
x=[0.05 0.1 0.3 0.5 1 5 10 20 30 40 50];
y=[0.8 0.83 0.9 0.93 0.93 0.9 0.9 0.94 0.95 0.95 0.95];
plot(x,y)
set(gca,'xtick',x);
set(gca,'xticklabel',num2str(x.'));
Now, separately try this and see if it is what you need. When you have such large differences in scale, there can be problems representing all the data points on an axis.
set(gca,'xscale','log') % Set to linear to go back.
laurent jalabert
2019-5-23
hello, what about a function to modify the xTicks label with a non-linear function of x ?
For example, displaying the grid as x^3 ?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Axis Labels 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!