change the scale on graph

I've been researching this a while and can't find what I need - I can change the limits on the axis for graphs etc without a problem, but what I need is to change the numbers on the scale, without actually changing the scale of the graph (not sure if I'm explaining right). So I have a pcolor plot, but wish to change the numbers on the axes, without changing the axes limits (So I still want to show the same data, but with the axes reading different values) - for example, the current values multiplied by a constant. Thanks

1 Comment

Veronica Lucchese
Veronica Lucchese on 27 Feb 2019
Edited: Veronica Lucchese on 27 Feb 2019
In matlab, the scale is called the c-axis. In order to manipulate the scale, you must manipulate the c-axis values
type in the command window:
caxis([0 0.1]) or whatever you want you scale limits to be

Sign in to comment.

 Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 18 Apr 2016
Edited: Azzi Abdelmalek on 18 Apr 2016
You mean to change the ticks of your axis. For example
x=0:10
y=cos(x)
plot(x,y)
number_of_ticks=5
xt=xlim
set(gca,'xtick',linspace(xt(1),xt(2),number_of_ticks))

10 Comments

Thanks, but I'm not really sure, I tried doing that but it didn't work. I have the plot but I want to edit the numbers on the axis, but using that code, it returned an error.
Azzi Abdelmalek
Azzi Abdelmalek on 18 Apr 2016
Edited: Azzi Abdelmalek on 18 Apr 2016
It depends on what you did, post what you have tried
x=randi(10,10)
pcolor(x)
number_of_ticks=5
xt=xlim
set(gca,'xtick',linspace(xt(1),xt(2),number_of_ticks))
So it changes the values on the axis, but it still goes from zero to ten, but I want it to read from zero to 500 but have it say 500 where it currently says 10 if you get me? Thanks
n=numel(get(gca,'xtick')),
xt=arrayfun(@num2str,linspace(0,500,n),'un',0),
set(gca,'xticklabel',xt)
Yes! Thank you so much, I've been trying to make it work for four hours!
Sorry to be a pain, but I can't get it to work on a GUI, any ideas why please?
Post the part of your code
handles.x=randi(10,10)
pcolor(handles.x)
handles.n=numel(get(gca,'xtick')),
handles.xt=arrayfun(@num2str,linspace(0,500,handles.n),'un',0),
set(gca,'xticklabel',handles.xt)
This works for me
I don't understand why it still won't work for me, I can't see what's wrong with it

Sign in to comment.

More Answers (1)

You can simply change the YTickLabel property:
ax = axes;
plot(1:10)
ax.YTickLabel = strtrim(cellstr(num2str(2 * ax.YTick')))

1 Comment

Thanks, but that didn't work, it just deleted the plot from the figure

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!