如何在具有延伸到X / Y轴的线的MatLab图上创建数据标记?

matlab plot matlab-figure

464 观看

1回复

35 作者的声誉

我正在尝试在MatLab中创建一个指定函数的图,该图具有特定的数据标记,这些标记具有到X / Y轴的下拉线(最好是虚线),并对应于该特定标记。

以下是我的MatLab代码,仅用于绘图和标记:

x = 0:4000;
y = 1 - exp(-(power(((x-900)/1015.54),2)));
xmarkers = [1800,2000];
ymarkers = 1 - exp(-(power(((xmarkers-900)/1015.54),2)));

plot(x,y,'b',xmarkers,ymarkers,'b*');

结果如下图:

MatLabPlotJustMarkers

我设想了一个这样的图形,最好在行的末尾为指定的X / Y值对带有自动标签:

设想的MatLabPlot

我的核心问题是:这可能吗?如果是的话,如何编码呢?我知道我可以自己在绘图中添加线条来手动管理此问题,但这对于大量标记来说是不可行的。

作者: AndrewC 的来源 发布者: 2016 年 2 月 18 日

回应 (1)


0

2046 作者的声誉

决定

您可以定义一个绘制标记的函数:

function draw_marker(x, y)

    hold on

    plot(x, y, 'b*')

    % plot coordinates as text
    str = sprintf('(%d, %d)', x, y);
    text(x, y, str)

    plot([0, x], [y, y], 'k-.')
    plot([x, x], [0, y], 'k-.')

end

然后您可以按以下方式创建图:

plot(x,y,'b');

draw_marker(xmarkers(1), ymarkers(1))
draw_marker(xmarkers(2), ymarkers(2))

当然,如果将图形句柄作为参数,那会更好,但是上面的方法可行。

作者: Lisa 发布者: 18.02.2016 11:42
32x32