我想在表面图中添加一个图例。 我试过这样做:
X=[0:0.3:2*%pi]; //example data
[x,y]=ndgrid(X,X);
z1=sin(X')*cos(X);
z2=z1/2;
z3=z1/3;
figure=scf();
surf(x,y,z1);
surf(x,y,z2);
surf(x,y,z3);
axes=figure.children(1);
axes.children(1).foreground=color(0,0,0);
axes.children(2).foreground=color(0,0,0);
axes.children(3).foreground=color(255,0,0);
axes.children(1).color_flag=0;
axes.children(2).color_flag=0;
axes.children(3).color_flag=0;
axes.children(1).color_mode=color(0,255,0);
axes.children(2).color_mode=color(0,0,255);
axes.children(3).color_mode=0;
legend(['z1','z1 divided by 2','z1 divided by 3'],opt=2,font_size=2);
我收到以下错误消息:
!--error 10000
legend : Neither handle of type 'Polyline' can be found.
如果用Scilab的基本版本无法做到这一点,请告诉我一些Scilab允许这样做的图书馆。
感谢您的帮助。
答案 0 :(得分:0)
传说仅适用于documentation of legend properties:
中所述的plot2dx图表此实体定义plot2dx下面绘制的图例的参数 图表或由字幕功能创建。
您只需使用xtitle
添加标题即可xtitle('z1,z1 div by2, z2 div by 3');
您可以使用uicontrol绘制一个方框并使用uicontrol_properties设置样式:
fig = gcf();
uicontrol(fig, "style", "text", ...
"string", "<html>z1<br>z1/2<br>z1/3</html>", ...
"position",[100 100 100 100], ...
"fontsize",15);