{smcl} {* 21mar07}{...} {hline} help for {hi:figout} {hline} {title:Title} {p 4 4 2}{hi:figout} {hline 2} Ancillary program for {cmd:tabout} to create mini datatsets suitable for graphing {title:Table of contents} {help figout##syn:Syntax} {help figout##des:Description} {help figout##opt:Options} {help figout##exa:Examples} {marker syn} {title:Syntax} {p 8 15 2} {cmdab:figout} {it:using} {cmd:,} {cmd:infile(}{it:string}{cmd:)} {cmd:gvars(}{it:string}{cmd:)} {cmd:over(}{it:string}{cmd:)} {cmd:start(}{it:string}{cmd:)} {cmd:stop(}{it:string}{cmd:)} [{cmdab:rep:lace(}{it:string}{cmd:)}] {marker des} {title:Description} {p 4 4 2}{cmd:figout} is an ancillary program for {help tabout} to facilitate the creation of graphs based on table panels. {cmd:figout} reads the output file produced by {cmd:tabout} looking for a start word or phrase. It then extracts the numbers it finds until it reaches the stop word or phrase. It only extracts the number of columns for which you indicate {cmd: gvars}, which conveniently avoids extracting the totals column. Each line in the panel becomes the basis for the {cmd:over} option in the subsequent graph. {cmd:figout} then loads those numbers into a mini dataset and saves it under the name you specify with {cmd:using}. If {cmd:figout} fails to find either the start word or the stop word, no mini dataset is produced and you are issued a warning. Once the mini dataset is created, it is an easy matter to create a {cmd:Stata} graph. The data is in a form suitable for graph's {cmd:over} option, and {cmd:figout} automatically creates an order variable for you, to preserve the same order that was used in your original table. {p 4 4 2}{cmd:tabout} has a comprehensive tutorial which includes a full example of using {cmd:figout}. This is available from the SSC with this help file. The tutorial is also available here: {browse "http://www.ianwatson.com.au/stata/tabout_tutorial.pdf"}. {marker opt} {title:Options} {phang} {cmd:using} is required, and indicates the filename for the output of the mini Stata dataset. Note that you do not need to add the {cmd:dta} filename extension. {phang} {cmd:infile} is required the name of the output file produced by {\tt tabout}, for example, {\tt table1.tex}. Note that you do need to add the filename extension because you may be using {\tt figout} with any number of file types ({\LaTeX}, csv, or tab-delimited). {phang} {cmd:gvars} are names you wish to assign to your graph variables, and they need to match a contiguous block of cells in your table. They are basically the categories of the horizontal variable in your table. {phang} {cmd:over} is the name of the graph variable to be used by the {cmd:over} option in the {cmd:graph} command. It is one the panels in your table, and basically matches one of your vertical variables. {phang} {cmd:start} is a unique word or phrase on the line above the block of cells. It can usually refer to the panel title in a {cmd:tabout} table, unless the title is repeated in another panel. {phang} {cmd:stop} is a unique word or phrase on the line beneath the block of cells. In the case of LaTeX, you can just use \midrule since this generally indicates the end of a panel if you are using the {cmd:ptotal(single)} option. {phang} {cmd:replace} is optional and follows usual Stata convention and prevents you accidentally over-writing an existing Stata dataset with your new mini dataset. If you are confident that there are no other datasets with the same name, you can use the {cmd:replace} option and this makes it more convenient if you need to develop your {cmd:figout} code using several attempts. {marker exa} {title:Examples} {p 4 4 2} The best example is the one given in the {cmd:tabout} tutorial ({browse "http://www.ianwatson.com.au/stata/tabout_tutorial.pdf"}) where it's use in batch files is demonstrated. {com} sysuse nlsw88, clear {com} gen wt = int(uniform()*10) {com} tabout coll race smsa south [iw=wt] using fig_tab.tex, c(row) f(1) /// {txt} style(tex) bt font(bold) topf(top.tex) botf(bot.tex) topstr(10cm) /// {txt} botstr(nlsw88.dta) cl1(2-4) ptot(single) {com} figout using fig_fig, infile(fig_tab.tex) rep /// {txt} gvars(not_south south) /// {txt} over(race) start(Race) stop(\midrule) {com} gr hbar not_south south, over(race, sort(order)) /// {txt} ytitle("Percentage", size(medium) ) /// {txt} ylab(0(10)80, angle(0) format(%9.0f) ) /// {txt} bar(1,bcolor(gs4)) bar(2,bcolor(gs8)) /// {txt} legend(label( 1 "Does not live in south") /// {txt} label(2 "Lives in south") /// {txt} pos(4) cols(1) symxsize(3) ring(0) size(medium) ) /// {txt} graphregion(lstyle(solid)) /// {txt} scheme(s2mono) scale(1.1) saving(fig_fig,replace) {com} gr use fig_fig.gph {com} grexportpdf using fig_fig {title:Author} Ian Watson Freelance researcher and Visiting Senior Research Fellow Macquarie University Sydney Australia mail@ianwatson.com.au www.ianwatson.com.au Version 1.0.1 21mar2007