使用变量名称作为图表标题

Use variable name for diagram title

如何在 MATLAB 中使用变量名作为图表标题的字符串

y = [11 22 33 44 55];

x = [1 2 3 4 5];

figure
plot (x,y)
title ('Diagram of ' x 'versus ' y);   % How to make this line work

标题应为:

x 与 y 的关系图

我不知道我是否答对了你的问题,但是如果变量名总是 x 和 y,就用一个很长的字符串:

('Diagram of  x versus  y')

可以写一个辅助函数,使用inputname函数

function tplot( varargin )
    plot(varargin{:})
    xname = inputname(1);
    yname = inputname(2);
    title( sprintf( 'Diagram of %s versus %s', xname, yname ) );
end

通过使用 vararginplot 的所有正常功能都将保留。但是,此函数假定前两个参数始终是 x 和 y 数据,这对于普通 plot 函数而言并不总是如此 - 如果需要,将作为边缘情况处理。

然后可以使用

调用它
y = [11 22 33 44 55];
x = [1 2 3 4 5];
figure
tplot(x,y); % titled plot