📄 vaplot.m,v
字号:
head 3.0;access;symbols;locks; strict;comment @// @;3.0date 2000.06.13.19.22.38; author gilles; state Exp;branches;next 2.1;2.1date 2000.06.13.15.57.32; author gilles; state Exp;branches;next 2.0;2.0date 99.05.21.18.47.04; author mah; state Exp;branches;next 1.6;1.6date 99.05.17.17.18.40; author mah; state Exp;branches;next 1.5;1.5date 99.05.07.15.05.03; author mah; state Exp;branches;next 1.4;1.4date 99.02.11.22.05.25; author eadam; state Exp;branches;next 1.3;1.3date 99.02.03.20.11.46; author perron; state Exp;branches;next 1.2;1.2date 99.01.21.18.29.16; author perron; state Exp;branches;next 1.1;1.1date 99.01.21.17.15.56; author perron; state Exp;branches;next ;desc@Plotting routine@3.0log@Release 3@text@function vaplot(datain,t1,t2,tr1,tr2,scal,pltflg,scfact,color,headw,trcin,insec,rec,outflg,filename,titletxt)%%vaplot(datain,t1,t2,tr1,tr2,scal,pltflg,scfact,color,headw,trcin,insec,rec,outflg,filename,titletxt)%%This function creates a PostScript file of one record of a DSISoft variable. It uses the seisplot.m %function for the first 11 input parameters (up to tstart included). Please refer to seisplot.m for%the description of these input variables. Vaplot.m lets you specify the number of traces/inch and %inches/second.%Vaplot.m also suggest the media on which to produce your plots%%INPUT VARIABLES%datain - input data%t1 - start time of data to be displayed%t2 - end time of data to be displayed%tr1 - first trace to be displayed%tr2 - last trace to be displayed%scal - 1 for max, 0 for ave%pltflg - 1 plot only filled peaks, 0 plot wiggle traces and filled peaks,%2 plots wiggle traces only and 3 or more plots grayscale image%scfact - scaling factor%color - trace colour %headw - header word to be annotated%trcin - traces per inch%insec - inches per second%rec - record of the DSISoft variable to be ploted%outflg - format of the output file 0==postscript 1==pcl 2==eps%filename - path and name of the output Postscript file to be created by vaplot.m%titletxt - text for plot title%%Written by G. Perron January 21st, 1999%%$Id: vaplot.m,v 2.1 2000/06/13 15:57:32 gilles Exp gilles $%$Log: vaplot.m,v $%Revision 2.1 2000/06/13 15:57:32 gilles%*** empty log message ***%%Revision 2.0 1999/05/21 18:47:04 mah%Release 2%%Revision 1.6 1999/05/17 17:18:40 mah%fixed help message%%Revision 1.5 1999/05/07 15:05:03 mah%fixed up help messages%%Revision 1.4 1999/02/11 22:05:25 eadam%Fix problem with annotation of last trace and change margins as well%as some header word input (i.e. smp and tstart) which are now%extracted from the file header%%Revision 1.3 1999/02/03 20:11:46 perron%Added new outflg variable to let the user choose%between PCL and Postscript output format%(PCL prints much faster)%%Revision 1.2 1999/01/21 18:29:16 perron%Modified help text and annotations%%Revision 1.1 1999/01/21 17:15:56 perron%Initial revision%%%Copyright (C) 1998 Seismology and Electromagnetic Section/%Continental Geosciences Division/Geological Survey of Canada%%This library is free software; you can redistribute it and/or%modify it under the terms of the GNU Library General Public%License as published by the Free Software Foundation; either%version 2 of the License, or (at your option) any later version.%%This library is distributed in the hope that it will be useful,%but WITHOUT ANY WARRANTY; without even the implied warranty of%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU%Library General Public License for more details.%%You should have received a copy of the GNU Library General Public%License along with this library; if not, write to the%Free Software Foundation, Inc., 59 Temple Place - Suite 330,%Boston, MA 02111-1307, USA.%%DSI Consortium%Continental Geosciences Division%Geological Survey of Canada%615 Booth St.%Ottawa, Ontario%K1A 0E9%%email: dsi@@cg.nrcan.gc.ca%setting string array for xlabelshwords{1}='Original trace number';hwords{2}='FFID';hwords{3}='CDP Number';hwords{4}='Recording component';hwords{5}='Angle of rotation (deg)';hwords{6}='Trace status';hwords{7}='Trace polarity';hwords{8}='Original channel number';hwords{9}='Shot-receiver azimuth (deg)';hwords{10}='Currently unused';hwords{11}='Currently unused';hwords{12}='Number of traces in record';hwords{13}='Trace number within record';hwords{14}='Bit mask for picks';hwords{15}='Pick times 1 (sec)';hwords{16}='Pick times 2 (sec)';hwords{17}='Pick times 3 (sec)';hwords{18}='Pick times 4 (sec)';hwords{19}='Pick times 5 (sec)';hwords{20}='Elevation static shift (sec)';hwords{21}='Refraction shot static (sec)';hwords{22}='Refraction receiver static (sec)';hwords{23}='Residual shot static (sec)';hwords{24}='Refraction receiver static (sec)';hwords{25}='Trim static (sec)';hwords{26}='Shot point number';hwords{27}='Receiver point number';hwords{28}='Shot-receiver offset (m)';hwords{29}='Source northing (m)';hwords{30}='Currently unused';hwords{31}='Source easting (m)';hwords{32}='Currently unused';hwords{33}='Source elevation (m)';hwords{34}='Currently unused';hwords{35}='Receiver northing (m)';hwords{36}='Currently unused';hwords{37}='Receiver easting (m)';hwords{38}='Currently unused';hwords{39}='Receiver elevation (m)';hwords{40}='Currently unused';hwords{41}='CDP northing (m)';hwords{42}='Currently unused';hwords{43}='CDP easting (m)';hwords{44}='Currently unused';hwords{45}='CDP elevation (m)';hwords{46}='Currently unused';hwords{47}='CMP northing (m)';hwords{48}='Currently unused';hwords{49}='CMP easting (m)';hwords{50}='Currently unused';hwords{51}='Datum elevation (m)';hwords{52}='Replacement velocity (m/s)';hwords{53}='Source-to-receiver offset (m)';hwords{54}='Shot depth (m)';hwords{55}='Uphole time (sec)';hwords{56}='Wireline depth (m)';hwords{57}='Total residual shot static (sec)';hwords{58}='Total residual receiver static (sec)';hwords{59}='Ray parameter';hwords{60}='Stack fold';hwords{61}='Total datum static (sec)';hwords{62}='Total refraction shot static (sec)';hwords{63}='Total residual receiver static (sec)';hwords{64}='Total static (sec)';%echo of function calldisp(' ');disp('vaplot(datain,t1,t2,tr1,tr2,scal,pltflg,scfact,color,headw,trcin,insec,rec,outflg,filename,titletxt)');disp(' ');%call to seisplotsmp=datain.fh{8};tstart=datain.fh{9}; %start time in secondseisplot(datain.dat{rec},t1,t2,tr1,tr2,smp,scal,pltflg,scfact,color,tstart);%deleting colorbar from plotif pltflg>=3 color_hnd=findobj('Tag','Colorbar') delete(color_hnd)end%adding title to ploteval(['title(','titletxt',')']);%turning off the display of the matlab figure of seisplotset(gcf,'Visible','off');%defining the range of traces and time (in sec)ntrc=abs(tr2-tr1);timesec=abs(t2-t1);%getting the dimensions of the axesysize=timesec*insec;xsize=(ntrc+2)/trcin;if outflg==0 %display of filename and path disp(' '); disp('**************************************************') disp('Output Postscript file is:') eval(['disp(','filename',')'])elseif outflg==1 %display of filename and path disp(' '); disp('**************************************************') disp('Output PCL file is:') eval(['disp(','filename',')'])end%setting media type to C (17X22in)set(gcf,'PaperType','C');%setting the dimensions of the plot on paperset(gcf,'PaperPosition',[0.5 0.5 (xsize+1) (ysize+1)]);%setting the units of the plot to inchesset(gca,'Units','inches');%setting the dimensions of the axes to get the trc/in and in/sec specsset(gca,'Position',[0.5 0.5 xsize ysize]);%display of plot sizedisp('**************************************************')eval(['disp(''Plot size is:' ' ',num2str(xsize),' X ',num2str(ysize),' inches'')']);disp('**************************************************')%setting paper size and orientation and displaying info %for different sizes of plotsif (xsize<=8.5) & (ysize<=11) set(gcf,'PaperType','usletter'); set(gcf,'PaperOrientation','portrait'); disp('Paper size is: Letter'); disp('Orientation is: Portrait'); disp('**************************************************')elseif (xsize<=8.5) & (ysize>=11) & (ysize<=14) set(gcf,'PaperType','uslegal'); set(gcf,'PaperOrientation','portrait'); disp('Paper size is: Legal'); disp('Orientation is: Portrait'); disp('**************************************************')elseif (xsize>=8.5 & xsize<=11 & ysize<=8.5) set(gcf,'PaperType','usletter'); set(gcf,'PaperOrientation','landscape'); disp('Paper size is: Letter'); disp('Orientation is: Landscape'); disp('**************************************************')elseif (xsize>=11 & xsize<=14 & ysize<=8.5) set(gcf,'PaperType','uslegal'); set(gcf,'PaperOrientation','landscape'); disp('Paper size is: Legal'); disp('Orientation is: Landscape') disp('**************************************************')else disp('Dimensions are exceeding Legal size paper') disp('Please use Postertool to print this plot') disp('**************************************************')end %getting X axis Thick Labels which refers to trace numberxtl=get(gca,'XTickLabel');%converting labels to numbersnum_xtl=str2num(xtl);%if label refers to trace 0 change it to 1%and do the same for thick positionif num_xtl(1)==0 num_xtl(1)=1; xmarks=get(gca,'XTick'); xmarks(1)=1; set(gca,'XTick',xmarks);endif num_xtl(size(num_xtl,1))>tr2 num_xtl(size(num_xtl,1))=tr2; xmarks=get(gca,'XTick'); xmarks(size(xmarks,2))=tr2; set(gca,'XTick',xmarks);end%round labels when neededwd=round(datain.th{rec}(headw,num_xtl)');%convert new labels from trace headers(numbers) to stringsstr_wd=num2str(wd);%set the thick labels and the axis labelset(gca,'XTickLabel',str_wd);xlabel(hwords{headw});if outflg==0 %create postscript file and close figure eval(['print -dps 'filename'']) close allelseif outflg==1 %create pcl file and close figure eval(['print -dljet3 'filename'']) close allelseif outflg==2 % create eps file and close eval(['print -deps 'filename'']) close allelse disp('Please verify if your outflg is either 2, 1 or 0');end @2.1log@*** empty log message ***@text@d33 1a33 1%$Id: vaplot.m,v 2.0 1999/05/21 18:47:04 mah Exp $d35 3@2.0log
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -