我想在3D图的数据点处添加文本。我希望我的xx
,yy
和zz
向量的内容是它们对应点的文本。
xx = [124 87];
yy = [50 37];
zz = 1.0e-2*[0.4170 0.3163];
[x,y]=meshgrid(0:150,0:60);
z=zeros(size(x));
z(sub2ind(size(z),yy,xx))=zz;
surf(x,y,z)
下面是我试图以循环方式添加文本,以便可以在图形上的正确位置显示文本。
str = {};
for i=1:size(xx)
str{i} = strcat( num2str(xx(i)), num2str(yy(i)), num2str(zz(i)) );
end
text(xx,yy,zz,str)
我希望我的图表显示的文本与下面的图像有些相似。下面的图形也是正确的图形。
答案 0 :(得分:6)
str应该是嵌套的单元格数组,而不是strcat。
以下代码将起作用。
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="centered-query">
<div class="row justify-content-center">
<div class="col-lg-9 col-12">
<div class="input-group">
<input type="text" class="form-control input-text first">
<input type="text" class="form-control input-text second">
<div class="input-group-append">
<button type="submit" class="btn">Go</button>
</div>
</div>
</div>
</div>
</div>
要在标签上添加“ x:”,“ y:”和“ z:”并以偏移量(10%)进行显示,我可以这样做。
str = cell(size(xx, 2), 1);
for i=1:size(xx, 2)
str{i} = {num2str(xx(i)), num2str(yy(i)), num2str(zz(i))};
end
text(xx, yy, zz,str)