How do I change the interval on one of my axis at different points along the axis?

1 view (last 30 days)
I'm currently plotting data but some of it is too condensed to visualize properly on the current scale. Here's what my plot looks like:
As you can see I attempted to use the xticks() and xtickslabel() functions on the left end of the axis but that only added ticks, not changed the interval. What I need to do is to have the range from 0.1-1 be the same distance as from 1-2, that way the condensed data on the left side can be expanded to better visualize what is occuring. Thanks in advance!

Answers (2)

Maik
Maik on 6 Dec 2022
You can try setting axes properties that should keep the scale.
x1 = 0:0.1:40;
y1 = cos(x1).^2;
x2 = 1:0.2:20;
y2 = sin(x2);
f = figure;
ax1 = axes(f);
plot(ax1,x1,y1,'-r')
% Plot second graph with different scale
ax2 = axes(f);
plot(ax2,x2,y2,'-.b')
%% calling this property makes the axes hold
ax2.Color = 'none';
%%
ax1.FontSize = 8;
ax1.XColor = 'r';
ax2.FontSize = 8;
ax2.XColor = 'b';

Voss
Voss on 6 Dec 2022
Maybe this will be good enough:
set(gca(),'XScale','log')

Categories

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

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!