如何在matlab等高线图上显示数值

时间:2013-07-13 23:04:59

标签: matlab matlab-figure

我已经使用大小为50 x 2的rand生成了一些随机种群,维度为2.这个种群被评估,给出一些值,称为人群中每个个体的适应度。现在我想用人们的健身价值来描绘人口中的所有个体,这样你就可以将一个人作为十字架,并在其旁边具有健身价值。我知道如何使用散点图绘制个体,并且个体在matlab图上显示为十字形,但我现在不知道如何在它们旁边显示它们的适应值。

示例:

individuals(Pop)     fitness values
  x      y
  3      5                 7
  4      6                 4
  1      3                 0
  3      0                10
.....
and on up the the 50th

现在我想在matlab图上用它们旁边显示的健身值绘制这些图 如果绘制坐标为(3,5)的个体并在图上显示为'x',我希望适应值7为它的大小,如下所示:x(7)或x7或7x或任何形式,但我只是想知道这个特定的个体(3,5)在matlab图上的适应度是7。健身也被绘制为轮廓线,但我想要绘制在图上的值。

我在这里搜索并谷歌和我得到的建议,如使用num2str和使用文本绘图我尝试但不适合我。有没有人知道我该怎么做呢?欢迎使用Matlab代码。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。我使用num2str并将其应用于文本命令,它已经工作。

这就是我做的事情

fv is the fitness values in my example
strValues = strtrim(cellstr(num2str([fv],'(%d)')));
text(co(:,1), co(:,2),strValues,'VerticalAlignment','top');
在我的例子中,co是个人(Pop)的分数。