用matlab 画图时,发现一部分范围内,线之间贴得太近。于是想在图中画另外一个小图,实现局部放大的功能。
在网上众多偏方中,经过辛苦遴选与试验,发现以下的方法最为简单有效。
废话不多说,2)关键代码; 1)效果。
%% ----- 1 效果:
需要注意的是:小图的显示位置以及尺寸大小都是用代码来控制的,具体请研究如下区区20行代码。
%% ----- 2 Code:
figure TextFontSize=20; LegendFontSize = 18; % ------------- Plot the big one : ------------- set(0,'DefaultAxesFontName','Times',... 'DefaultLineLineWidth',1,... 'DefaultLineMarkerSize',8); set(gca,'FontName','Times New Roman','FontSize',TextFontSize); set(gcf,'Units','inches','Position',[0 0 6.0 4.0]); % --- 1 Avg-OPT_costs_1m plot(gamma, Avg_OPT_C, '-dk') hold on % --- 2 Avg-OPT_costs_2m plot(gamma, Avg_Greedy_C, '--sb') hold on grid on xlabel('\gamma') ylabel('Cost') hg1 = legend('Offline OPT', 'Offline Greedy',1); set(hg1,'FontSize',LegendFontSize); % --- Plot the big one :~ % ------------- Plot the small one : ------------- set(0,'DefaultTextFontName','Times',... 'DefaultAxesFontName','Times',... 'DefaultLineLineWidth',1,... 'DefaultLineMarkerSize',4); h1=axes('position',[0.42 0.26 0.45 0.44]); set(h1,'FontName','Times New Roman','FontSize',16); axis(h1); xlim([0 0.25]); h41=plot(gamma2,Avg_OPT_C2,'-dk'); hold on h42=plot(gamma2,Avg_Greedy_C2,'--sb'); % --- Plot the small one :~
Davy_H
2014-09-13
时间: 2024-10-13 00:20:59