How to use two different scales on one same axis: logarithmic from 0.1 to 1 and linear from then on
Show older comments
I'm trying to reproduce the graphic below. I've got all the data but I don't manage to set the x-axis scale to reproduce the same display: logarithmic scale from 0.1 - 1 and linear from 1-4

Currently using Matlab 2012.a
Accepted Answer
More Answers (1)
Youssef Khmou
on 23 Feb 2013
hi, Joan
The well known functions for plotting data with logarithmic scales are :
semilogx,semilogy, and loglog for both x and y axis .
lets try a way out :
Suppose Y data has N elements
>>N=length(Y);
>>x=linspace(0.1,4,N); % Linear vector of N points from 0.1 to 4.
>>indx=find(x==1.00);
% Now make the first portion logarithmic
>>x(1:indx)=log10(x(1:indx)); % plot(x) has two parts Log +Lin
Try this generated x axis and see.......
2 Comments
Youssef Khmou
on 23 Feb 2013
Depending on the length N , indx may by "empty matrix" then try to find manually the position where x is approx 1 .
Joan Sngl
on 23 Feb 2013
Categories
Find more on Grid Lines, Tick Values, and Labels in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!