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

5 次查看(过去 30 天)
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!

回答(2 个)

Maik
Maik 2022-12-6
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 2022-12-6
Maybe this will be good enough:
set(gca(),'XScale','log')

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by