matlab - 在 3D 图形中的点处从向量添加文本

标签 matlab plot

我想在 3D 绘图的数据点处添加文本。我希望我的 xxyyzz 向量的内容是它们对应点的文本。

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)

我希望我的图形显示的文本与下图有些相似。下图也是正确的图。

enter image description here

最佳答案

str 应该是嵌套元胞数组,而不是 strcat。

以下代码将起作用。

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)

enter image description here

为了向标签添加“x:”、“y:”和“z:”并显示偏移量 (10%),我会这样做。

str = cell(size(xx, 2), 1);
for i=1:size(xx, 2)
    str{i} = {['x: ' num2str(xx(i))], ['y: ' num2str(yy(i))], ['z: ' num2str(zz(i))]}; 
end
text(xx+0.1*xx, yy+0.1*yy, zz,str)

enter image description here

关于matlab - 在 3D 图形中的点处从向量添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51922692/

相关文章:

matlab - parfor 不打印

matlab - 如何仅删除由特定 matlab 脚本创建的变量

plot - Bokeh 图 : Custom HoverTool variables for Bar Charts

r - 在R中绘制矩阵方程

R:计算并绘制两个密度等高线之间的差异

R ggplot2 堆积条形图,x as.factor(Time), fill = c(Mean.E, Mean.T, Mean.P)

matlab - 如何在 Octave 中绘制隐式曲面?

MATLAB:绘制双底 x 轴

algorithm - 比较绘图的最快方法

c - 奇怪的 MEX 文件行为