我试图打破情节的y轴并将Infinity作为我的最高点,但我似乎无法修改y轴标签。理想情况下,我也想摆脱那条打破情节的曲线〜线,而是使用双斜杠//,但我尝试在matlab文件交换中使用一堆break轴函数,我无法&# 39;让他们为我工作。但是,我真的也希望能够比较两种方法的外观,所以我希望能够看到两种方式的外观。
我想更换" 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;
这是我目前身材的照片:
答案 0 :(得分:1)
查看函数breakyaxis
的代码(在命令窗口中输入edit breakyaxis
),我们看到我们实际上可以使用名为breakInfo
的输出参数调用该函数,这是一个结构,包含一系列关于函数中创建的4轴的信息。
名为highAxes
的轴是包含YTickLabel
600的轴,您要用“无限”替换它。
因此,在调用breakyaxis
时分配输出如下:
breakInfo = breakyaxis([350 550]);
并添加以下行:
set(breakInfo.highAxes,'YTicklabel','Infinity')
情节如下: