Adding an Xlabel to a Semilogx plot?

23 views (last 30 days)
Ashley
Ashley on 5 Feb 2014
Edited: Azzi Abdelmalek on 5 Feb 2014
Hello, I plotted a semilogx plot because I want my x values to be in log scale. However, now, when I try to add an xlabel, I can't do it! I looked on the forums and found the following answer:
set(get(gca,'xlabel'),'units','pixels'); set(get(gca,'xlabel'),'Pos', [10 10]);
However, I tried this and this also does not work.
Any reason why and how do I overcome this? Thank you.
Ashley

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 5 Feb 2014
Look at this example
x=0:1000
y=sin(x)
plot(x,y)
set(gca,'xscale','log')
Now add xlabel
xlabel('you can do it')
  2 Comments
Ashley
Ashley on 5 Feb 2014
Hello, This is a portion of my script that I'm using:
semilogx(frequency, phaseinmrad, '*') set(gca, 'XTickLabel', num2str(get(gca,'XTick')','%g')); xlabel('Frequency Hz');
but it won't label my x-axis. It keeps saying:
Index exceeds matrix dimensions.
Error in MagnetiteGraphs (line 13) xlabel('Frequency Hz');
That is the message it gives me. Please advise, Thank you.
Ashley
Azzi Abdelmalek
Azzi Abdelmalek on 5 Feb 2014
Edited: Azzi Abdelmalek on 5 Feb 2014
You probably used xlabel as a variable in your code. Try this to restore the functionality of xlabel
clear xlabel
xlabel('Frequency Hz');

Sign in to comment.


the cyclist
the cyclist on 5 Feb 2014
Edited: the cyclist on 5 Feb 2014
Are you able to post a small but self-contained example (i.e. code that we can run) that has everything except the xlabel you want, and describe a little more specifically what you want?
I have a feeling you mean xticklabel and not xlabel.
Here is a trivial example of an xlabel:
figure
semilogx(10.^(1:4),1:4);
xlabel('I am an x-label')

Products

Community Treasure Hunt

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

Start Hunting!