在图形上显示文本覆盖线上的行

问题描述:

我需要关于在灰色补丁中显示频率值的帮助。在图形上显示文本覆盖线上的行

Display frequency Label over the Graph lines in Gray patches

我使用显示设置得到在MATLAB命令的代码部分。帮助我解决这个问题。

%h_text=text(matrix_val(size(matrix_val,1),1),matrix_val(size(matrix_val,1),k+1),20,param_values{k},'FontSize',[myfontsize]); % plot text 
%**********firstly ,remove '\'from param_values{k}, like 0.1\mA to 0.1mA 
param_v_temp= param_values{k}; 
para_index=strfind(param_v_temp,'\'); 
param_v_temp(para_index)=[]; 

%h_text=text(matrix_val(size(matrix_val,1),1),matrix_val(size(matrix_val,1),k+1),20,param_v_temp,'FontSize',[myfontsize]); % plot text 'FontSize', 
h_text=text(matrix_val(size(matrix_val,1),1),matrix_val(size(matrix_val,1),k+1),20,param_v_temp,'FontSize',[myfontsize]); % plot text 'FontSize', 
set(h_text,'HorizontalAlignment','left'); 
ws = get(h_text,'Extent')*[0;0;1;0]; 
set(h_text,'DeleteFcn','DelStr','ButtonDownFcn',sprintf('MoveStr(%1.15g)',ws),'FontName','Arial'); 
%set(h_text,'DeleteFcn','DelStr','ButtonDownFcn',sprintf('MoveStr(%1.15g)',ws),'FontSize',[10],'FontName','Helvetica'); 
h_extent = get(h_text,'Extent'); 
p = patch(h_extent*[1 1 1 1; 0 0 0 0; 1 1 0 0; 1 1 1 1],... 
    h_extent*[0 0 0 0; 1 1 1 1; 0 0 0 0; 0 1 1 0],[1 1 1 1]*1e-6,[0.95 0.95 0.95],'Linestyle','none'); 
set(p,'UserData', h_text,'DeleteFcn','DelPointer') 
set(h_text,'UserData',p) 
+0

图片在上面的链接中显示“在灰色补丁中的图形线上显示频率标签”。 – KHAN6691

+0

如果你有问题的答案,接受它,不要编辑你的问题。 – EBH

您正在文本上创建补丁。为了在补丁上面放置文本,请尝试添加

uistack(h_text,'top') 

到您的代码的末尾。

+0

可以请你在上面的代码中显示位置,我必须放置该代码。感谢您的帮助 – KHAN6691

+0

调用'patch'之后应该放置它。 – Skogsv

+0

它不工作。它仍然给我上面的情节。有没有其他办法可以解决这个问题。谢谢 – KHAN6691