Matlab 使用标记和字符串手动打印图例

Matlab 使用标记和字符串手动打印图例,matlab,marker,legend,Matlab,Marker,Legend,我需要单独绘制一个带有一组标记和相关字符串的图例,而不需要绘制。有人看到过这方面的代码吗 关于我以前也试过这样做,但没有成功。我最后做的是从图例中删除一些情节元素。例如: h = plot(x,y); hasbehavior(h,'legend', false); 还有一个 始终可以隐藏轴及其所有子对象: figure(1), clf, hold on x = 0:0.1:2*pi; y = sin(x); p = plot(x,y); legend('Sin(x)'); set([g

我需要单独绘制一个带有一组标记和相关字符串的图例,而不需要绘制。有人看到过这方面的代码吗


关于

我以前也试过这样做,但没有成功。我最后做的是从图例中删除一些情节元素。例如:

h = plot(x,y); 
hasbehavior(h,'legend', false);

还有一个

始终可以隐藏轴及其所有子对象:

figure(1), clf, hold on

x = 0:0.1:2*pi;
y = sin(x);

p = plot(x,y);
legend('Sin(x)');

set([gca get(gca, 'children')], 'visible', 'off');

下面是我最后想到的一个代码:它对于几乎任何应用程序都足够灵活:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%     Legend Generator       %%%%%%%%%%%%%%%%%%%%%
%% NAME     : LEGEND_GENERATOR.m
%% FUNCTION : Generates a single plot for arbitrary legend 
%% INPUTS   : set of markers and related texts as cell and figure number
%% OUTPUTS  : No output
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%                      %%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%     AUG 28, 2012      %%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function LEGEND_GENERATOR(Marker,text,Fignum,FONTSIZE,MARKERSIZE,LWD)

% clc;clear;close all;fclose all
% Marker = {'r -*' , 'b -o' , 'g --d'};
% text = {'First Fun ' , 'Second Fun ' , 'Third Fun ' };
% FONTSIZE = 6;
% Fignum = 26;

if length(Marker)~=length(text)
    error('You should have the same number of markers as texts');
end

%% FIGURE
set(0,'defaultaxesfontsize',FONTSIZE);
figure(Fignum);clf;hold on;set(gcf,'OuterPosition',[60  90 200  250],'PaperPositionMode','auto');


Leg_TEXTS = [];
for i = 1:length(Marker)
x = 0:0.1:2*pi;
y = 3*randn(1)*sin(x);
p = plot(x,y,Marker{i},'MarkerSize',MARKERSIZE,'LineWidth',LWD);
Leg_TEXTS = [ Leg_TEXTS ; {text{i}} ];
end


legend(Leg_TEXTS);
figure(Fignum);
set([gca;get(gca, 'children')], 'visible', 'off');

end