[英]Change the color of a surface plot from SFIT in MATLAB
我有四个SFIT对象,可以使用它们绘制:
figure;
hold on;
plot(f1);
plot(f2);
plot(f3);
plot(f4);
这将绘制3D表面。 但是,我想给每个表面一种独特的颜色,就像在plot函数中一样。 通常,这是通过给参数“ r”或表示颜色的东西来完成的,例如:
plot(f1,'r');
但是,如果我在这里这样做,则会出现以下错误:
使用绘图时出错没有给“ r”赋值。 名称/值对参数需要一个名称,后跟一个值。
sfit / plot> iParseInputs中的错误(第231行)p.parse(parameterValuePairs {:});
拟合/绘图错误(第44行)[XY,Z,输入,输出,样式,级别,hParent] = iParseInputs(obj,varargin {:});
这表明必须提供一个字符串,但是哪一个呢? 我已经尝试过“颜色”或“线色”之类的东西,但是这些未被识别
问题的简化:我希望表示拟合对象的平面具有一种颜色。 每架飞机应有不同的飞机。
从此链接:
你可以试试
f1 = fit([x y], z, 'poly23');
ph = plot(f1, 'Style', 'Contour');
set(ph, 'Fill', 'off', 'LineColor', 'auto');
set
文件
https://uk.mathworks.com/help/matlab/ref/set.html
编辑
上面的建议仅显示2D图,有关3D情况,请参见此先前的SO答案:
与您相关的代码是:
figure;
h = plot(f1);
set(h(1),'FaceColor','r');
因此,您要查找的“魔术字”是'FaceColor'
,它与set
结合使用(如上所述)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.