您可以从.xlsx下载这里文件。
代码
figure('Units', 'pixels', 'Position', [100 100 800 375]);
RSM = xlsread('RSM_V_PSO.xlsx', 'Sheet1', 'C4:F103');
PSO = xlsread('RSM_V_PSO.xlsx', 'Sheet1', 'M4:P103');
ci_RSM = bootci(1000, @mean, RSM);
ci_PSO = bootci(1000, @mean, PSO);
Media_tot_RSM = mean(RSM,1)';
Media_tot_PSO = mean(PSO,1)';
ci_RSM = abs(ci_RSM' - repmat(Media_tot_RSM,1,2)) .* [1.9, 0.8, 0.6, 0.4; 1.9, 0.8, 0.6, 0.4]';
ci_PSO = abs(ci_PSO' - repmat(Media_tot_PSO,1,2));
ydata_m_RSM = (Media_tot_RSM');
ydata_m_PSO = (Media_tot_PSO');
xdata_m = [2 4 6 8];
[xData_RSM, yData_RSM] = prepareCurveData( xdata_m, ydata_m_RSM );
[xData_PSO, yData_PSO] = prepareCurveData( xdata_m, ydata_m_PSO );
hFit_RSM = plot(xData_RSM, yData_RSM,'.');
hold on
hFit_PSO = plot(xData_PSO, yData_PSO,'.');
hE_RSM = errorbar(xdata_m, ydata_m_RSM, ci_RSM(:,1), ci_RSM(:,2));
hE_PSO = errorbar(xdata_m, ydata_m_PSO, ci_PSO(:,1), ci_PSO(:,2));
hXLabel = xlabel('Objective function calls');
hYLabel = ylabel('Objective Function');
xlim([1 9]);
ylim([8.07 8.35]);
set(hFit_RSM , ...
'Color' , [0 .2 .6] );
set(hE_RSM , ...
'LineStyle' , 'none' , ...
'Marker' , '.' , ...
'Color' , [0 .2 .6], ...
'markersize', 6);
set(hE_PSO , ...
'LineStyle' , 'none' , ...
'Marker' , '.' , ...
'Color' , [.8 .3 .3], ...
'markersize', 6);
hLegend = legend([hE_RSM hE_PSO],'RSM Data \pm 95% CI', 'PSO Data \pm 95% CI', 'location', 'NorthEast' );
set(gca,'XTick',[2 4 6 8]);输出:

然后,使用BreakPlot破坏yaxis,请告诉我以下内容:
代码2:
breakplot(xData_RSM,yData_RSM,8.095,8.335,'Line');产出2:

问题:
hE_RSM消失了。我怎么才能避免呢?发布于 2014-03-20 09:53:55
替代-这需要一点编程或工作在情节编辑器。
我通常为这样的任务放置两个轴,一个用于顶部部分,另一个用于下部部分。我在它们中绘制了相同的数据,但随后使用axis来缩放两者的正确范围。它需要一些调整,把它们很好地放置,也有一些不必要的传说。
通常,我也做一个小的第三轴,并画两条线,其中斧头已被切割。
https://stackoverflow.com/questions/22528139
复制相似问题