繁体   English   中英

Matlab中多个数据集的两个y轴图

[英]Two y-axes plot for multiple data set in Matlab

我正在尝试在Matlab中创建两个y轴图。 我有两组数据,每组都有三个相似类型的图。 当我尝试绘制它时,右侧y轴上的缩放比例变得混乱。 我将不胜感激。

X = [50, 100, 200, 400];

YSKL_Temporal_WOFAE    = [3.2000       2.3354      1.9428          1.7658];
YSKL_Spatial_WOFAE     = [0.9225       0.9724      1.0986          1.1770];
YSKL_Spatial_WithFAE   = [0.2635       0.1653      0.1513           0.1618];

YMSRE_Temporal_WOFAE    = [0.3559       0.3027    0.2733          0.2636];
YMSRE_Spatial_WOFAE     = [.3151       .2689      .2551           0.2524];
YMSRE_Spatial_WithFAE   = [.0933       .0648      0.0663          0.0640];

figure(1);
[AX, p1, p2] = plotyy(X, YSKL_Temporal_WOFAE, X, YMSRE_Temporal_WOFAE);
set(AX,'XTick', X);   % This fixes X-axis tick mark (same as data axis)

set(get(AX(1),'Ylabel'),'String','SKL Score') 
set(get(AX(2),'Ylabel'),'String','Norm. Residuals') 
xlabel('Time (\musec)') 
title('SKL and Norm. Residual plotted on different y-axes') 
set(p1,'LineStyle','--')
set(p2,'LineStyle',':')

axes(AX(1))
hold on
plot(X, YSKL_Spatial_WOFAE);
hold on
plot(X, YSKL_Spatial_WithFAE);
ylim([0 4])
hold off

axes(AX(2))
hold on
plot(X, YMSRE_Spatial_WOFAE);
hold on
plot(X, YMSRE_Spatial_WithFAE);
ylim([0.0 0.4])
hold off

情节看起来像这样: 在此处输入图片说明

请注意右y轴上的比例

此致Dushyant

在调用plotyy之后,第二个(右侧)y轴刻度标签被“冻结”。 AX(2)上调整ylim ,这对标签没有影响。
因此, 轴外观必须重置为auto
将以下代码与问题示例结合使用:

axes(AX(2))
hold on
plot(X, YMSRE_Spatial_WOFAE);
hold on
plot(X, YMSRE_Spatial_WithFAE);
ylim([0.0 0.4])
% include the following statement to allow 
% the second y-axis to reset the ticks:
set(AX(2), 'YTickMode', 'auto', 'YTickLabelMode', 'auto')
hold off

将产生此图:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM