Suppose we are using the high school and beyond data file (hsb2) which has test scores for 200 students, 91 males and 109 females. We could make a graph of their read and write score as shown below with the graph command.
use https://stats.idre.ucla.edu/stat/stata/notes/hsb2, clear graph twoway scatter read write
Say we want to see the scores separately for the males and the females. One way we can do this is by using two scatter commands, one making a graph for the males and one making a graph for the females, and overlaying these two graphs, as illustrated below.
graph twoway (scatter read write if female==0) (scatter read write if female==1)
However, one problem with the graph above is that it does not identify which markers are the males and which are the females. We can add a legend option to more clearly label the males and females, as shown below.
graph twoway (scatter read write if female==0) (scatter read write if female==1), /// legend(label(1 male) label(2 female))
We can use the msymol() option to control the marker symbols for the males and females. Here we plot the males with large hollow circles and the females with large solid squares.
graph twoway (scatter read write if female==0, msymbol(Oh)) /// (scatter read write if female==1, msymbol(S)), /// legend(label(1 male) label(2 female))
Another strategy we can use is via the separate command to make a read score for the males, and a read score for the females. We can then graph these two variables, and then get separate symbols for the males and females. Below we use the separate command and it makes a variable read0 that is the reading score for the males and read1 that is the reading score for the females.
separate read, by(female) storage display value variable name type format label variable label ------------------------------------------------------------------------------- read0 byte %9.0g read, female == male read1 byte %9.0g read, female == female
Now, we can graph read0 and read1 as shown below. Note that since Stata uses the variable label in the legend, it provides an indication of which symbol is the males and which is for the females.
graph twoway scatter read0 read1 write
We can use the msymbol() option to select the symbols we want for males and females. Below we choose a large hollow circle (Oh) for the males and a large solid square (S) for the females.
graph twoway scatter read0 read1 write, msymbol(Oh S)