Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: incorporate table into figure


From   Eric Booth <[email protected]>
To   "<[email protected]>" <[email protected]>
Subject   Re: st: incorporate table into figure
Date   Tue, 24 Aug 2010 03:14:05 +0000

<>

Jeph:
Here are two examples to get you started, though, it might be easier to just place an exported .gph or .eps version of the figure above the formatted table in a Word document and use an image capture software or export the page as an image/pdf.

You can tweak the positioning of the text under a figure or written to a file, but it will take some patience. 
The code below requires you to install the rtfutil suite of adofiles from Roger Newson (findit rtfutil)

**************!

*! watch for wrapping issues in the code below !*

//setup//
clear all
sysuse cancer
recode _t (30/max = 30)
stset studytime, fail(died)
streg, distribution(exponential)
predict S, surv

//example 1:  text() option//
sts graph, plot(line S _t, sort) legend(pos(4) ring(0) rows(2)) /// 
graphregion(margin(vlarge) fcolor(white)) ///
xscale(range(-1 30))   aspectratio(.5, place(12)) text(-.2 -3 /// 
  "No. at risk"    ///
  "  Usual Care	 	 1172		 6811		 1119		  1213			  1212" ///
  "  Exercise Train		1444		4242		1233		1231			1213" ///
  , place(se) just(left) margin(l+1 t+1 b+1) width(85))  name(test, replace)
graph save test "graph", replace
graph export graph.eps,  as(eps) replace
       
//exmaple 2: rtfutil / file write//
sts graph, plot(line S _t, sort) legend(pos(4) ring(0) rows(2)) ///
graphregion(margin(vsmall) fcolor(white))  name(test2, replace)
graph save test2 "graph2", replace
graph export graph2.eps,  as(eps) replace
cap rtfclose handle1       
tempname handle1
rtfopen `handle1' using "mydoc1.rtf", template(fnmono1) replace
file write `handle1' "{\pard\b JAMA Graph\par}" _n
rtflink `handle1' using "graph2.eps"
file write `handle1' "{\line}"     _n(2)
file write `handle1' "{No. at risk 	 }"  _n
file write `handle1' "{\line}"     _n
file write `handle1' "{  Usual Care		 1172		 6811		 1119		  1213			  1212}"    _n
file write `handle1' "{  Exercise Train		1444		4242		1233		1231			1213}"    _n
rtfclose `handle1'
**note: this lines up for me using MS Word 2008 on Mac, but may not line up on other configurations**
**************!

~ Eric

On Aug 23, 2010, at 8:44 PM, Jeph Herrin wrote:

> I would like to incorporate a very simply (4x2) table into
> a figure. I would like the 4 columns to line up with the four
> ticks on the x-axis, but appearing below the axis. The row
> labels thus need to be in the left margin. In particular, I need
> to reproduce a figure such as one of these
> 
> http://jama.ama-assn.org/cgi/content/full/301/14/1439/JOC90023F2
> 
> and the issue is lining up the numbers across the bottom.
> 
> I have tried to set it up as a -caption()- with two strings,
> but have two problems. First, I cannot persuade the caption to be
> aligned with the left side of the graph; -span- only aligns with the
> left edge of the y-axis lable, whereas I have set the margin to be
> extra wide with -graphreg(m())-. Second, there seems to be no way
> other than experiment to align the 4 columns with 4 ticks on the
> x-axis. In the graph editor there is a "position offset" for the
> caption box which I can set to <0 to achieve what I want, but
> I cannot find any corresponding textbox_option.
> 
> Jeph
> 
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/


*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index