Matlab图形绘图 - 带标签的图例和曲线

时间:2013-10-11 13:30:53

标签: matlab plot matlab-figure

如何绘制如下图所示的图形?

此处图例(绿色/蓝色)在每条曲线上绘制一些值(0.10到0.40)。有没有可能的解决方案或提示呢?

图参考:

enter image description here

1 个答案:

答案 0 :(得分:2)

使用clabel(轮廓标签)可以在行内绘制数据标签,但这需要您使用contour命令绘制数据。

虽然如果不能将其绘制为等高线图,那么您应该能够将绘图数据转换为轮廓矩阵格式,请参阅the contour algorithm上帮助页面底部的矩阵定义。这是一个定义数据点的简单2行向量,您应该能够将此矩阵提供给clabel函数以内联打印数据标签。

对于下面的示例 - 我使用plot命令绘制了3行,保存了数组h中的行句柄。然后我从绘制的数据中创建了轮廓矩阵,例如,如果红线有50个数据点,那么

C(1,1)=0.44; % data value to plot on the line
C(2,1)=50; % number of data points
C(1,2:51)=line1x; % x data points for the red line
C(2,2:51)=line1y; % y data points for the red line

我手动测试了这个想法,但我确信如果需要,我可以编写一个简单的函数来自动创建这个矩阵。无论如何,重复将其他行数据添加到轮廓矩阵,然后使用轮廓标签命令

clabel(C,h)

这给了我这个情节

plot with inline data values