How do I create a plot that is logscale in y and mixed log/linear scale in x?

2 views (last 30 days)
I am plotting a function on [0,180] that is nearly singular about 0. I want loglog over [0,10] and then semilogy over [10,180]. An example of the function is:
y=1/(1+2*k-cos(x)).^2;
where k is << 1.
  2 Comments
dpb
dpb on 16 Apr 2014
Use
subplot(1,2)
to create two axes then adjust they're positions to fill in the space between, hiding the left y-axis on the RH axes. Set the two axes xlim property appropriately for the two ranges.
dpb
dpb on 16 Apr 2014
Edited: dpb on 17 Apr 2014
Or, the other way would be to keep the one axes object but transform x>10 to log and set the ticks and labels manually.
In this case to plot on the same axis you would
plot(log10(x>10)+10,y(x>10))
to get the offset on the axis, of course.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!