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
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.
.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Line Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!