Breaking the axis of plots (without external packages etc)

3 次查看(过去 30 天)
Is there a simple way to break the axis of my plot without falling a function from the mathworks public package repository etc? I.e. hard code it in my script?

回答(1 个)

Star Strider
Star Strider 2023-6-4
I am not certain what you want, so I decided to give this a shot just out of interest —
x = [linspace(0, 10, 11); linspace(20, 30, 11)]; % Create Data
y = [sin(x(1,:)*2*pi*0.09); sin(x(2,:)*2*pi*0.05)]; % Create Data
figure
subplot(1,2,1)
plot(x(1,:), y(1,:)) % Plot First Group
Ax1 = gca;
yt = Ax1.YTick; % Get Y-Tick Values
tl = Ax1.TickLength(1)*20;
hold on
plot(([0;tl]*ones(size(yt))), [1;1]*yt, '-k') % Create New Y-Yicks
hold off
grid
Ax1.YAxis.Visible = 0; % Turn Off Y-Axis
xline(0)
text(zeros(size(yt))-0.05*diff(xlim), yt, compose('%.1f',yt), 'Vert','middle', 'Horiz','right') % Label New Ticks
subplot(1,2,2)
plot(x(2,:), y(2,:)) % Plot Second Group
grid
Ax2 = gca;
Ax2.YAxis.Visible = 0; % Turn Off Y-Axis
Add axis labels and other options (this may require separate text calls to put them in the correct positions). Use sgtitle to add a unified title.
.

类别

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

标签

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by