Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • replacing x-axis labels in margins plot graph

    Hello,

    My data is below. I run the following margins command to get estimates and a graph using my margins plot command. The graph I get contains the t1 and t2 times on my x-axis. I don't want to manually replace all these values. How do I specify for the x-values to be replaced by the date variable instead? Thank you.

    ----------------------- copy starting from the next line -----------------------
    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input int Date byte(time PL t1 t2)
    19724 -28 79 -28  0
    19755 -27 81 -27  0
    19783 -26 71 -26  0
    19814 -25 70 -25  0
    19844 -24 71 -24  0
    19875 -23 65 -23  0
    19905 -22 73 -22  0
    19936 -21 68 -21  0
    19967 -20 66 -20  0
    19997 -19 71 -19  0
    20028 -18 64 -18  0
    20058 -17 71 -17  0
    20089 -16 71 -16  0
    20120 -15 72 -15  0
    20148 -14 70 -14  0
    20179 -13 75 -13  0
    20209 -12 60 -12  0
    20240 -11 73 -11  0
    20270 -10 55 -10  0
    20301  -9 67  -9  0
    20332  -8 76  -8  0
    20362  -7 74  -7  0
    20393  -6 69  -6  0
    20423  -5 75  -5  0
    20454  -4 76  -4  0
    20485  -3 63  -3  0
    20514  -2 70  -2  0
    20545  -1 72  -1  0
    20606   0 50   0  0
    20636   0 50   0  0
    20667   0 47   0  0
    20698   0 45   0  0
    20728   0 47   0  0
    20759   0 51   0  0
    20789   0 47   0  0
    20820   0 44   0  0
    20851   0 44   0  0
    20910   1 22   0  1
    20940   2 20   0  2
    20971   3 22   0  3
    21001   4 21   0  4
    21032   5 21   0  5
    21063   6 21   0  6
    21093   7 20   0  7
    21124   8 18   0  8
    21154   9 21   0  9
    21185  10 21   0 10
    21216  11 18   0 11
    21244  12 17   0 12
    21275  13 17   0 13
    21305  14 17   0 14
    21336  15 17   0 15
    21366  16 16   0 16
    21397  17 16   0 17
    21428  18 16   0 18
    21458  19 21   0 19
    21489  20 23   0 20
    21519  21 20   0 21
    21550  22 23   0 22
    21581  23 19   0 23
    21609  24 17   0 24
    21640  25 19   0 25
    21670  26 17   0 26
    21701  27 22   0 27
    21731  28 12   0 28
    21762  29 16   0 29
    21793  30 16   0 30
    21823  31 18   0 31
    21854  32 20   0 32
    21884  33 17   0 33
    21915  34 19   0 34
    21946  35 16   0 35
    21975  36 16   0 36
    22006  37 16   0 37
    22036  38 19   0 38
    22067  39 20   0 39
    22097  40 21   0 40
    22128  41 18   0 41
    22159  42 19   0 42
    22189  43 20   0 43
    22220  44 13   0 44
    22250  45 17   0 45
    22281  46 13   0 46
    22312  47 15   0 47
    22340  48 18   0 48
    22371  49 13   0 49
    22401  50 13   0 50
    22432  51 12   0 51
    22462  52 10   0 52
    22493  53 12   0 53
    22524  54 10   0 54
    22554  55 17   0 55
    22585  56 13   0 56
    22615  57 13   0 57
    22646  58 14   0 58
    22677  59 13   0 59
    22705  60 12   0 60
    22736  61 12   0 61
    22766   .  .   .  .
    22797   .  .   .  .
    end
    format %tdnn/dd/CCYY Date
    ------------------ copy up to and including the previous line ------------------


    mkspline t1 0 t2=time

    xtmixed PL t1 t2 ||
    lincom t2-t1

    margins, at(t1=-28 t2=0) at(t1=-27 t2=0) at(t1=-26 t2=0) at(t1=-25 t2=0) at(t1=-24 t2=0) at(t1=-23 t2=0) at(t1=-22 t2=0) at(t1=-21 t2=0) at(t1=-20 t2=0) at(t1=-19 t2=0) at(t1=-18 t2=0) at(t1=-17 t2=0) at(t1=-16 t2=0) at(t1=-15 t2=0) at(t1=-14 t2=0) at(t1=-13 t2=0) at(t1=-12 t2=0) at(t1=-11 t2=0) at(t1=-10 t2=0) at(t1=-9 t2=0) at(t1=-8 t2=0) at(t1=-7 t2=0) at(t1=-6 t2=0) at(t1=-5 t2=0) at(t1=-4 t2=0) at(t1=-3 t2=0) at(t1=-2 t2=0) at(t1=-1 t2=0) at(t1=0 t2=0) at(t1=0 t2=1) at(t1=0 t2=2) at(t1=0 t2=3) at(t1=0 t2=4) at(t1=0 t2=5) at(t1=0 t2=6) at(t1=0 t2=7) at(t1=0 t2=8) at(t1=0 t2=9) at(t1=0 t2=10) at(t1=0 t2=11) at(t1=0 t2=12) at(t1=0 t2=13) at(t1=0 t2=14) at(t1=0 t2=15) at(t1=0 t2=16) at(t1=0 t2=17) at(t1=0 t2=18) at(t1=0 t2=19) at(t1=0 t2=20) at(t1=0 t2=21) at(t1=0 t2=22) at(t1=0 t2=23) at(t1=0 t2=24) at(t1=0 t2=25) at(t1=0 t2=26) at(t1=0 t2=27) at(t1=0 t2=28) at(t1=0 t2=29) at(t1=0 t2=30) at(t1=0 t2=31) at(t1=0 t2=32) at(t1=0 t2=33) at(t1=0 t2=34) at(t1=0 t2=35) at(t1=0 t2=36) at(t1=0 t2=37) at(t1=0 t2=38) at(t1=0 t2=39) at(t1=0 t2=40) at(t1=0 t2=41) at(t1=0 t2=42) at(t1=0 t2=43) at(t1=0 t2=44) at(t1=0 t2=45) at(t1=0 t2=46) at(t1=0 t2=47) at(t1=0 t2=48) at(t1=0 t2=49) at(t1=0 t2=50) at(t1=0 t2=51) at(t1=0 t2=52) at(t1=0 t2=53) at(t1=0 t2=54) at(t1=0 t2=55) at(t1=0 t2=56) at(t1=0 t2=57) at(t1=0 t2=58) at(t1=0 t2=59) at(t1=0 t2=60) at(t1=0 t2=61) vsquish

    marginsplot , title("") plotopts(msymbol(none) lcolor(black)) ytitle(PL Predicted) ylabel( , angle(horizontal) nogrid) xtitle(months) level(50) recastci(rline) ciopts(lcolor(black) lpattern(dash)) xline(29) xlabel(, angle(45))

  • #2
    You can create the over variable in the marginsplot yourself and label it. Some combinations are redundant and need to be dropped. I use labmask from the Stata Journal below.

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input int Date byte(time PL t1 t2)
    19724 -28 79 -28  0
    19755 -27 81 -27  0
    19783 -26 71 -26  0
    19814 -25 70 -25  0
    19844 -24 71 -24  0
    19875 -23 65 -23  0
    19905 -22 73 -22  0
    19936 -21 68 -21  0
    19967 -20 66 -20  0
    19997 -19 71 -19  0
    20028 -18 64 -18  0
    20058 -17 71 -17  0
    20089 -16 71 -16  0
    20120 -15 72 -15  0
    20148 -14 70 -14  0
    20179 -13 75 -13  0
    20209 -12 60 -12  0
    20240 -11 73 -11  0
    20270 -10 55 -10  0
    20301  -9 67  -9  0
    20332  -8 76  -8  0
    20362  -7 74  -7  0
    20393  -6 69  -6  0
    20423  -5 75  -5  0
    20454  -4 76  -4  0
    20485  -3 63  -3  0
    20514  -2 70  -2  0
    20545  -1 72  -1  0
    20606   0 50   0  0
    20636   0 50   0  0
    20667   0 47   0  0
    20698   0 45   0  0
    20728   0 47   0  0
    20759   0 51   0  0
    20789   0 47   0  0
    20820   0 44   0  0
    20851   0 44   0  0
    20910   1 22   0  1
    20940   2 20   0  2
    20971   3 22   0  3
    21001   4 21   0  4
    21032   5 21   0  5
    21063   6 21   0  6
    21093   7 20   0  7
    21124   8 18   0  8
    21154   9 21   0  9
    21185  10 21   0 10
    21216  11 18   0 11
    21244  12 17   0 12
    21275  13 17   0 13
    21305  14 17   0 14
    21336  15 17   0 15
    21366  16 16   0 16
    21397  17 16   0 17
    21428  18 16   0 18
    21458  19 21   0 19
    21489  20 23   0 20
    21519  21 20   0 21
    21550  22 23   0 22
    21581  23 19   0 23
    21609  24 17   0 24
    21640  25 19   0 25
    21670  26 17   0 26
    21701  27 22   0 27
    21731  28 12   0 28
    21762  29 16   0 29
    21793  30 16   0 30
    21823  31 18   0 31
    21854  32 20   0 32
    21884  33 17   0 33
    21915  34 19   0 34
    21946  35 16   0 35
    21975  36 16   0 36
    22006  37 16   0 37
    22036  38 19   0 38
    22067  39 20   0 39
    22097  40 21   0 40
    22128  41 18   0 41
    22159  42 19   0 42
    22189  43 20   0 43
    22220  44 13   0 44
    22250  45 17   0 45
    22281  46 13   0 46
    22312  47 15   0 47
    22340  48 18   0 48
    22371  49 13   0 49
    22401  50 13   0 50
    22432  51 12   0 51
    22462  52 10   0 52
    22493  53 12   0 53
    22524  54 10   0 54
    22554  55 17   0 55
    22585  56 13   0 56
    22615  57 13   0 57
    22646  58 14   0 58
    22677  59 13   0 59
    22705  60 12   0 60
    22736  61 12   0 61
    22766   .  .   .  .
    22797   .  .   .  .
    end
    format %tdnn/dd/CCYY Date
    
    mixed PL t1 t2 ||
    drop if missing(t1)|missing(t2)|t1==t2
    gen strdate= string(Date, "%tdN/D/Y")
    egen overvar= group(t1 t2)
    labmask overvar, values(strdate)
    margins, over(overvar) vsquish
    set scheme s1color
    marginsplot , title("") plotopts(msymbol(none) lcolor(black)) ///
    ytitle(PL Predicted) ylabel( , angle(horizontal) nogrid) xtitle("") ///
    level(50) recastci(rline) ciopts(lcolor(black) lpattern(dash)) ///
    xline(29) xlabel(1 10 20 29 40(10)80 89, angle(45))
    Click image for larger version

Name:	Graph.png
Views:	1
Size:	35.8 KB
ID:	1702575

    Comment


    • #3
      Thank you. This worked perfectly.

      Comment

      Working...
      X