Breaking the axis of plots (without external packages etc)
3 views (last 30 days)
Show older comments
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?
2 Comments
Answers (1)
Star Strider
on 4 Jun 2023
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.
.
0 Comments
See Also
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!