【问题标题】:Error using matlab.graphics.axis.Axes/set?使用 matlab.graphics.axis.Axes/set 时出错?
【发布时间】:2018-03-20 13:13:03
【问题描述】:

我在我的笔记本电脑(Windows;使用 Matlab R2014a)上运行了一个脚本,它运行良好。我现在尝试在正常工作的 PC(Linux Ubuntu;使用 Matlab R2017b)上使用相同的脚本,我收到以下错误消息:

使用 matlab.graphics.axis.Axes/set 时出错 Axes 类上没有 YtickL 属性。

figure('units','normalized','outerposition',[0 0 1 1])
imagesc(SIG_ARR);
hold on
g_y=[0.5:1:24.5]; % user defined grid Y 
g_x=[0.5:1:8.5]; % user defined grid X 
for i=1:length(g_x)
  plot([g_x(i) g_x(i)],[g_y(1) g_y(end)],'k:') %y grid lines
  hold on    
end
for i=1:length(g_y)
  plot([g_x(1) g_x(end)],[g_y(i) g_y(i)],'k:') %x grid lines
  hold on     
end

colormap(parula);
set(gca, 'Ytick', [1:1:24.5]);
title('... EMG - EMG Coherence', 'FontSize', 24);
neworderX={'VL_ri' 'VL_le' 'VM_ri' 'VM_le' 'TA_ri' 'TA_le' 'ES_ri' 'ES_le'};
neworderY={'VL_ri_Down' 'VL_ri_Hold' 'VL_ri_Up' 'VL_le_Down' 'VL_le_Hold' 
'VL_le_Up' 'VM_ri_Down' 'VM_ri_Hold' 'VM_ri_Up' 'VM_le_Down' 'VM_le_Hold' 
'VM_le_Up' 'TA_ri_Down' 'TA_ri_Hold' 'TA_ri_Up' 'TA_le_Down' 'TA_le_Hold' 
'TA_le_Up' 'ES_ri_Down' 'ES_ri_Hold' 'ES_ri_Up' 'ES_le_Down' 'ES_le_Hold' 
'ES_le_Up'};
set(gca, 'YtickL', neworderY(:));
set(gca, 'XtickL', neworderX(:));

set(gcf, 'Position', get(0, 'Screensize'));
outfile=fullfile(outdir, '_EMG_EMG_COH_overview');
saveas(gcf,outfile,'fig'); 

我试图在网上找到有关此错误的信息,但我无法提出可行的解决方案...这可能与我使用的两个 Matlab 版本的差异有关。希望大家帮帮我...

提前干杯和感谢!

【问题讨论】:

  • 错误信息非常清楚:YtickL 不是axes 对象的属性。 XtickL 也不是。您想要的属性是XTickLabelYTickLabel,它们是clearly documented。正是出于这个原因,我不会依赖 MATLAB 来自动完成属性名称;总是明确的。这也是为什么你不应该复制/粘贴你不完全理解的代码的原因。

标签: matlab matlab-figure axes


【解决方案1】:

尝试使用XTickLabelYTickLabel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多