Announcement

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

  • Single yaxis when using catplot

    Hi Stata users,

    I am using a Stata user command
    catplot
    My example data is

    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input str6 gender str18 age
    "Male"   "21 - 30 years"     
    "Female" "51 - 60 years"     
    "Male"   "61 - 70 years"     
    "Male"   "21 - 30 years"     
    "Female" "61 - 70 years"     
    "Female" "31 - 40 years"     
    "Male"   "61 - 70 years"     
    "Male"   "21 - 30 years"     
    "Female" "41 - 50 years"     
    "Male"   "31 - 40 years"     
    "Female" "41 - 50 years"     
    "Female" "21 - 30 years"     
    "Female" "51 - 60 years"     
    "Female" "51 - 60 years"     
    "Male"   "31 - 40 years"     
    "Male"   "More than 70 years"
    "Female" "61 - 70 years"     
    "Male"   "More than 70 years"
    "Female" "31 - 40 years"     
    "Male"   "41 - 50 years"     
    "Male"   "More than 70 years"
    "Female" "51 - 60 years"     
    "Male"   "51 - 60 years"     
    "Male"   "More than 70 years"
    end

    and the code

    Code:
    catplot age, by(gender, title("What is your gender?")) blabel(bar, format(%3.1f)) l1title("") percent ytitle("Percent")
    I have the following questions
    1. Is it possible to have a single yaxis?
    2. Can the frequencies by the sub-populations?
    Thanks in advance!

  • #2
    Thanks for the data example.

    catplot is from SSC as you are asked to explain (FAQ Advice #12). Here I give what you may be seeking, together with a plot I think better, using tabplot from the Stata Journal.

    Bar colours should what your readers find culturally acceptable.

    Touching bars may be preferred too.

    Code:
    * Example generated by -dataex-.
    clear
    input str6 gender str18 age
    "Male"   "21 - 30 years"    
    "Female" "51 - 60 years"    
    "Male"   "61 - 70 years"    
    "Male"   "21 - 30 years"    
    "Female" "61 - 70 years"    
    "Female" "31 - 40 years"    
    "Male"   "61 - 70 years"    
    "Male"   "21 - 30 years"    
    "Female" "41 - 50 years"    
    "Male"   "31 - 40 years"    
    "Female" "41 - 50 years"    
    "Female" "21 - 30 years"    
    "Female" "51 - 60 years"    
    "Female" "51 - 60 years"    
    "Male"   "31 - 40 years"    
    "Male"   "More than 70 years"
    "Female" "61 - 70 years"    
    "Male"   "More than 70 years"
    "Female" "31 - 40 years"    
    "Male"   "41 - 50 years"    
    "Male"   "More than 70 years"
    "Female" "51 - 60 years"    
    "Male"   "51 - 60 years"    
    "Male"   "More than 70 years"
    end
    
    set scheme s1color
    
    catplot age, by(gender, col(1) title("What is your gender?")) blabel(bar, format(%3.1f)) l1title("") percent ytitle("Percent") name(G1)
    
    replace age = subinstr(age, " years", "", .)
    replace age = subinstr(age, "More than ", ">", .)
    tabplot  gender age, percent(gender) title("What is your gender?") subtitle(%) showval separate(gender) bar1(color(orange)) bar2(color(blue)) name(G2)
    Click image for larger version

Name:	okiya_G1.png
Views:	1
Size:	28.9 KB
ID:	1675723

    Click image for larger version

Name:	okiya_G2.png
Views:	1
Size:	21.4 KB
ID:	1675724


    Comment


    • #3
      Nick Cox Thanks so much for the ideas. I really appreciate.

      Comment

      Working...
      X