Scatter Plots with Labels in Stata


I have a scatter plot where my observations are various countries. Rather than plotting dots, I'm plotting the variable labels which displays the country name. I'm also weighting them by population. That is, my code is something like this:

(scatter x y [aw=population], msymbol(i) mlabel(country))

My problem is, when I plot just dots, the dots resize to reflect the relative population sizes. (For example, India gets a big dot and Iceland gets a small dot.) This does not happen to the country names when I use labels. Now, the Stata help files state that weights are ignored when using the mlabel option, so it may not be possible to get the size of the country names to scale by population. However, I thought I'd ask to see if anyone knows a trick or work around to get this to happen. Thanks!


P.S. I'm using Stata 9 at home and Stata 10 at work, so if there's a new feature in Stata 11 that will do this, that won't help me. Until I convince my employer to splurge on the updated version, that is.
Yes I think that you can't find an option for labels that will make Stata change the size of labels. Maybe you can do it "by hand" by graphing multiple y variable on the same graph. For instance :

levelsof country, local(country)
scatter x y if country == "country 1", msymbol(i) mlabel(country) mlabsize(weight) ||
foreach c of local country {
scatter x y if country == "`c'", msymbol(i) mlabel(country) mlabsize(weight) ||

more or less. This might work or maybe you can try to create one variable per country if the number of country in your dataset is not too large.

Hope this helps