Announcement

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

  • How to make markers complete?

    Dear All, When I run the following code,
    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input str40 y str15(x markers) 
    "CEO turnover-performance sensitivity" "Co-opt"     "cdn14rfs"  
    "Earnings management"                  "Co-CFO"     "dhms21ms"  
    "Financial reporting quality"          "Co-Aud"     "cmsz18car/ikz18jfqa"        
    "Stock price synchronicity/crash risk"               "Co-opt"     "khfl20rfqa/xrcw20jcf"  
    "Tax avoidance"                        "Co-opt"     "xxx" 
    "Tax avoidance"                        "Co-CFO"        "cgac22japp" 
    end
    
    label define X 1 "Co-opt" 3 "Co-CFO" 5 "Co-Aud" 
    encode x, gen(X) 
    encode y, gen(Y) 
    labmask Y, values(y)
    lab drop Y
    labmask Y, values(y)
    
    scatter Y X, ytitle("") xtitle("") mcolor(none) mlab(markers) mlabpos(0) mlabsize(small) ///
    xlab(0 " " 1 2 " " 3 4 " " 5, val labsize(small) grid) xsc(r(0 6)) ///
    ylab(0 " " 1(1)6, val labsize(small) grid angle(0)) ysc(r(0 6) outergap(1)) scale(0.75)
    
    graph export "topics.png", as(png) name("Graph") replace
    I obtain
    Click image for larger version

Name:	topics.png
Views:	1
Size:	68.3 KB
ID:	1687831


    However, the marker "cmsz18car/ikz18jfqa" and "khfl20rfqa/xrcw20jcf" do not appear completely. Any suggestions are highly appreciated.
    Ho-Chuan (River) Huang
    Stata 19.0, MP(4)

  • #2
    Why do you have

    input str40 y str15(x markers)
    ?

    You are restricting the string to 15 characters. Change that to some large number such as 50 or "L".

    Comment


    • #3
      Hi Andrew, Thanks a lot. It works now.
      Ho-Chuan (River) Huang
      Stata 19.0, MP(4)

      Comment


      • #4
        Dear Andrew, By the way,
        Code:
        * Example generated by -dataex-. To install: ssc install dataex
        clear
        input str40 y str50(x markers) 
        "CEO pay/turnover-performance sensitivity" "Co-opt"     "cdn14rfs"  
        "CEO pay level"                        "Co-opt"     "cdn14rfs"  
        "CEO pay level"                        "Co-CFO"     "dhms21ms"  
        "Capital structure"                    "Co-opt"     "ldb21irfa"       
        end
        
        label define X 1 "Co-opt" 3 "Co-CFO" 5 "Co-Aud" 
        encode x, gen(X) 
        encode y, gen(Y) 
        labmask Y, values(y)
        
        replace y = `""CEO pay/turnover-" "performance sensitivity""' if y == "CEO pay/turnover-performance sensitivity"
        replace y = `""Stock price-" "synchronicity/crash risk""' if y == "Stock price synchronicity/crash risk"
        
        lab drop Y
        labmask Y, values(y)
        
        scatter Y X, ytitle("") xtitle("") mcolor(none) mlab(markers) mlabpos(0) mlabsize(small) ///
        xlab(0 " " 1 2 " " 3 4 " " 5, val labsize(small) grid) xsc(r(0 6)) ///
        ylab(0 " " 1(1)28, val labsize(small) grid angle(0)) ysc(r(1 28) outergap(1)) scale(0.75)
        
        graph export "topics.png", as(png) name("Graph") replace
        Click image for larger version

Name:	topics.png
Views:	1
Size:	70.4 KB
ID:	1687856



        On the vertical y-axis, "CEO pay/turnover-performance sensitivity" (separate in two lines) is too close to "Capital structure" and "CEO pay level". Is there any way to deal with this problem? Thanks.
        Ho-Chuan (River) Huang
        Stata 19.0, MP(4)

        Comment


        • #5
          There appears to be enough room to have it in one line. Otherwise reduce the y-axis upper limit so as to increase the unit distance.

          Code:
          * Example generated by -dataex-. To install: ssc install dataex
          clear
          input str40 y str50(x markers)
          "CEO pay/turnover-performance sensitivity" "Co-opt"     "cdn14rfs"  
          "CEO pay level"                        "Co-opt"     "cdn14rfs"  
          "CEO pay level"                        "Co-CFO"     "dhms21ms"  
          "Capital structure"                    "Co-opt"     "ldb21irfa"      
          end
          
          label define X 1 "Co-opt" 3 "Co-CFO" 5 "Co-Aud"
          encode x, gen(X)
          encode y, gen(Y)
          labmask Y, values(y)
          
          replace y = "CEO pay/turnover- performance sensitivity" if y == "CEO pay/turnover-performance sensitivity"
          replace y = `""Stock price-" "synchronicity/crash risk""' if y == "Stock price synchronicity/crash risk"
          
          lab drop Y
          labmask Y, values(y)
          
          scatter Y X, ytitle("") xtitle("") mcolor(none) mlab(markers) mlabpos(0) mlabsize(small) ///
          xlab(0 " " 1 2 " " 3 4 " " 5, val labsize(small) grid) xsc(r(0 6)) ///
          ylab(0 " " 1(1)28, val labsize(small) grid angle(0)) ysc(r(1 28) outergap(1)) scale(0.75)
          
          graph export "topics.png", as(png) name("Graph") replace
          Click image for larger version

Name:	Graph1.png
Views:	1
Size:	75.2 KB
ID:	1687859



          or

          Code:
          * Example generated by -dataex-. To install: ssc install dataex
          clear
          input str40 y str50(x markers)
          "CEO pay/turnover-performance sensitivity" "Co-opt"     "cdn14rfs"  
          "CEO pay level"                        "Co-opt"     "cdn14rfs"  
          "CEO pay level"                        "Co-CFO"     "dhms21ms"  
          "Capital structure"                    "Co-opt"     "ldb21irfa"      
          end
          
          label define X 1 "Co-opt" 3 "Co-CFO" 5 "Co-Aud"
          encode x, gen(X)
          encode y, gen(Y)
          labmask Y, values(y)
          
          replace y = `""CEO pay/turnover-" "performance sensitivity""' if y == "CEO pay/turnover-performance sensitivity"
          replace y = `""Stock price-" "synchronicity/crash risk""' if y == "Stock price synchronicity/crash risk"
          
          lab drop Y
          labmask Y, values(y)
          
          scatter Y X, ytitle("") xtitle("") mcolor(none) mlab(markers) mlabpos(0) mlabsize(small) ///
          xlab(0 " " 1 2 " " 3 4 " " 5, val labsize(small) grid) xsc(r(0 6)) ///
          ylab(0 " " 1/14, val labsize(small) grid angle(0)) ysc(r(1 14) outergap(1)) scale(0.75)
          
          graph export "topics.png", as(png) name("Graph") replace
          Click image for larger version

Name:	Graph2.png
Views:	1
Size:	64.6 KB
ID:	1687860




          or just reduce the font size, but that will make the labels less readable.
          Last edited by Andrew Musau; 03 Nov 2022, 07:24.

          Comment


          • #6
            Thanks a lot, Andrew.
            Ho-Chuan (River) Huang
            Stata 19.0, MP(4)

            Comment

            Working...
            X