1

我试图打破绘图的 y 轴并将 Infinity 作为我的顶点,但我似乎无法修改 y 轴标签。理想情况下,我也想摆脱打破情节的曲线〜线,而是使用双斜杠//,但我尝试在matlab文件交换中使用一堆中断轴函数,但我无法得到他们为我工作。但是,我真的也希望能够比较这两种方法的外观,所以我希望能够看到两种方法的外观。

我想将下图中的“600”替换为断轴上的“Infinity”一词。.

我正在使用函数breakyaxis.m

这是我的代码:

close all;
clc;

figure
% Plot 
 hold on; plot([0 .2 .5 .8 1],[-10 0 50 100 300],'.','MarkerSize',10); %(:,exp_width)); hold on;
plot(.4,150,'+','MarkerSize',10,'MarkerFaceColor','black');
plot(1,600,'+','MarkerSize',10,'MarkerFaceColor','black'); % Set 600 as point where y value should really be infinity

breakyaxis([350 550]); % Break Axis
xlabel('X Axis'); ylabel('Y Axis');
set(gca,'yticklabel',sprintf('%10s',[num2str(-10) num2str(0) num2str(100) 'inf']));
hold off;

这是我现在的身材照片: 阴谋

4

1 回答 1

1

查看函数的代码breakyaxisedit breakyaxis在命令行窗口中输入),我们发现我们实际上可以使用名为 的输出参数调用函数,该参数breakInfo是一个结构,其中包含有关函数中创建的 4 个轴的信息。

所调用的轴highAxes是包含YTickLabel600 的轴,您想将其替换为“Infinity”。

因此,调用时分配一个输出breakyaxis如下:

breakInfo = breakyaxis([350 550]);

并添加这一行:

set(breakInfo.highAxes,'YTicklabel','Infinity')

然后情节如下所示:

在此处输入图像描述

于 2015-04-21T00:08:11.587 回答