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: Labeling series within the plot area


From   Nick Cox <[email protected]>
To   [email protected]
Subject   Re: st: Labeling series within the plot area
Date   Wed, 5 Dec 2012 09:13:56 +0000

But the trick used by Allan and myself can be automated....

On "local variables", see

http://www.stata.com/statalist/archive/2008-08/msg01258.html

Nick

On Tue, Dec 4, 2012 at 6:41 PM,  <[email protected]> wrote:
> Thanks to all. Right now I'm simply setting local x and y variables equal
> to coordinates where there is whitespace in the graph, and then using
> -text(`y' `x' "Label")-, which is working OK, although it needs to be
> changed for every graph. Would be nice to have a more automated procedure,
> but you can't win 'em all.
>
> From:   Nick Cox <[email protected]>
> To:     [email protected],
> Date:   11/30/2012 08:15 AM
> Subject:        Re: st: Labeling series within the plot area
> Sent by:        [email protected]
>
>
>
> Allan's nice suggestion is similar in spirit to my earlier posting.
> With a little more work you can classify the data points and colour
> groups consistently, e.g.
>
> sysuse auto, clear
> mark touse
> markout touse price wei
> regress price wei i.for#c.wei
> predict yhat
> separate yhat, by(foreign)
> bysort touse foreign (weight):  g flab = cond(foreign, "Foreign",
> "US") if _n == _N
> separate price, by(foreign)
> scatter price? yhat? weight, ms(oh th i i) mcolor(blue red)
> mlabcolor(blue red blue red) lcolor(blue red blue red) c(. . L L)
> mlab(. . flab flab) sort legend(off) ytitle(`: var label price')
>
> See also
>
> SJ-5-4  gr0023  . . . . Stata tip 27: Classifying data points on scatter
> plots
>         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J.
> Cox
>         Q4/05   SJ 5(4):604--606                                 (no
> commands)
>         tips for using separate, gray-scale gradation, and text
>         characters as class symbols to classify data points on
>         a scatter plot
>
>
> On Fri, Nov 30, 2012 at 9:38 AM, Allan Reese (Cefas)
> <[email protected]> wrote:
>> A trick I use is to create a second variable containing the label but
>> only at the selected points - usually the maximum.
>>
>> use auto
>> regress price wei i.for#c.wei
>> predict yhat
>> egen maxpoint=max(yhat), by(for)
>> sort for yhat
>> g flab="US"
>> replace flab="Foreign" if for==1
>> replace flab="" if yhat!=maxpoint
>> scatter price yhat weight, ms(oh i) c(. L) mlab(. flab)
>>
>> You can use mlabpos and xscale(range()) to allow for fit, or just use
>> the graph editor to tweak position.
>>
>> Allan
>>
>> On Nov 29, 2012, at 12:28 PM, [email protected] wrote:
>>>> When creating graphs (using a do-file, not the Graph Editor), is
>> there a
>>>> way to label the data series in the plot area, so the name of the
>> series
>>>> would appear near the line that is plotted? Here is an example:
>>>>
>> http://libertystreeteconomics.typepad.com/.a/6a01348793456c970c017d3dfcd
>> f73970c-popup
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


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