Matlab双Y轴左侧颜色无法修改的问题求助
Matlab双Y轴颜色设置问题:左侧Y轴颜色不生效的原因与解决方法
问题原因
左侧Y轴颜色设置代码中使用了未定义的变量b1x,这行代码无实际执行效果,因此无法修改左侧Y轴颜色。右侧代码里的ax同样未定义,只是巧合下Matlab默认对当前激活的右侧轴生效,但这种写法不规范。
解决方法
切换到对应Y轴后,通过gca获取当前轴对象,再设置其YColor属性即可。修正后的完整代码如下:
t=1:1:3; a = [1 8 3]; b = [3 8 2]; figure % 左侧绿色设置 yyaxis left b1 = bar(t,b); b1.FaceColor = "#008000"; b1.EdgeColor = "#008000"; % 获取左侧轴对象并设置颜色 ax_left = gca; ax_left.YColor = "#008000"; hold on grid on ylabel('sth green here') xlabel('sth black here') % 右侧红色设置 yyaxis right ax_right = gca; ax_right.YColor = "#ff0000"; plot(t,a,'-x','Color', "#ff0000",'LineWidth',1) hold on grid on ylabel('sth red here')
也可以简化写法,切换轴后直接设置:yyaxis left; gca.YColor = "#008000";,效果完全一致。
内容的提问来源于stack exchange,提问作者stressedstudent
相关产品推荐
相关产品推荐

