Octave中errorbar函数设置markerfacecolor、markersize报错如何解决
Octave errorbar标记属性不生效报错解决方案
报错原因
Octave的errorbar函数参数解析逻辑与Matlab不同,直接在调用时追加markerfacecolor、markersize这类属性键值对时,函数会将字符串类型的属性名识别为数据输入参数,因此触发「第5个参数必须为数值」的报错。
解决方案
采用先获取图形句柄、再单独设置属性的写法,完全兼容所有Octave版本:
A=dlmread('data.txt'); x=A(:,1); y=A(:,2); err=A(:,3); % 先调用errorbar生成图形,返回线条句柄h h = errorbar(x,y,err,'or'); % 通过set函数设置标记相关属性 set(h, 'markerfacecolor', 'r', 'markersize', 5);
效果验证
修改后代码不会触发报错,可同时正常显示误差棒、红色实心标记,标记大小也符合预期设置。
内容的提问来源于stack exchange,提问作者Sreek
相关产品推荐
相关产品推荐

