Stataで都道府県のそれっぽい位置に,by オプションを使って都道府県ごとの図を描く方法です.
サンプルコードは下にあります.
参考:
clear/* ssc install blindschemes, replace all */set scheme plotplain/* * 2- 2 都道府県別人口と人口増減率(エクセル:16KB) *//* ====================================================================== */import excel using "https://www.stat.go.jp/data/nihon/zuhyou/n200200200.xlsx", sheet("02-02") cellrange(A10:I56)drop B-Frename A prefj_srename G poprename H mfratiorename I pop_change_rate/* 都道府県コード定義 *//* ====================================================================== *//* 都道府県JISコード */label define prefj /// 1 "北海道" /// 2 "青森" /// 3 "岩手" /// 4 "宮城" /// 5 "秋田" /// 6 "山形" /// 7 "福島" /// 8 "茨城" /// 9 "栃木" /// 10 "群馬" /// 11 "埼玉" /// 12 "千葉" /// 13 "東京" /// 14 "神奈川" /// 15 "新潟" /// 16 "富山" /// 17 "石川" /// 18 "福井" /// 19 "山梨" /// 20 "長野" /// 21 "岐阜" /// 22 "静岡" /// 23 "愛知" /// 24 "三重" /// 25 "滋賀" /// 26 "京都" /// 27 "大阪" /// 28 "兵庫" /// 29 "奈良" /// 30 "和歌山" /// 31 "鳥取" /// 32 "島根" /// 33 "岡山" /// 34 "広島" /// 35 "山口" /// 36 "徳島" /// 37 "香川" /// 38 "愛媛" /// 39 "高知" /// 40 "福岡" /// 41 "佐賀" /// 42 "長崎" /// 43 "熊本" /// 44 "大分" /// 45 "宮崎" /// 46 "鹿児島" /// 47 "沖縄" /* 描画用コード */label define pref_plotj /// 2 "北海道" /// 5 "青森" /// 14 "岩手" /// 24 "宮城" /// 4 "秋田" /// 13 "山形" /// 32 "福島" /// 40 "茨城" /// 23 "栃木" /// 22 "群馬" /// 31 "埼玉" /// 47 "千葉" /// 39 "東京" /// 46 "神奈川" /// 12 "新潟" /// 11 "富山" /// 3 "石川" /// 10 "福井" /// 38 "山梨" /// 30 "長野" /// 21 "岐阜" /// 45 "静岡" /// 29 "愛知" /// 37 "三重" /// 20 "滋賀" /// 9 "京都" /// 19 "大阪" /// 8 "兵庫" /// 28 "奈良" /// 27 "和歌山" /// 7 "鳥取" /// 6 "島根" /// 18 "岡山" /// 17 "広島" /// 16 "山口" /// 44 "徳島" /// 36 "香川" /// 35 "愛媛" /// 43 "高知" /// 26 "福岡" /// 25 "佐賀" /// 15 "長崎" /// 33 "熊本" /// 34 "大分" /// 42 "宮崎" /// 41 "鹿児島" /// 1 "沖縄" encode prefj_s, gen(pref) label(prefj)encode prefj_s, gen(pref_plotj) label(pref_plotj)order pref pref_plotj, after(prefj_s)label variable prefj_s "都道府県" // 文字列label variable pref "都道府県" // JISコードlabel variable pref_plotj "都道府県" // 描画用コードlabel variable pop "平成30年推定人口"label variable mfratio "人口性比(女性=100)"label variable pop_change_rate "人口増減率"/* * 描画 */local holes " holes(2/9 11/15 17/18 21 43/44 55 57 65/67) "local byopts `" by(pref_plotj, cols(10) `holes' note("") leg(off)) "' graph bar (asis) pop, bar(1, col(red)) `byopts' by(, ti("平成30年推定人口"))gen pop_change_ratep = pop_change_rate if pop_change_rate >= 0 & !missing(pop_change_rate)gen pop_change_raten = pop_change_rate if pop_change_rate < 0graph bar (asis) pop_change_ratep pop_change_raten, bar(1, col(blue)) bar(2, col(red)) `byopts' yline(0) by(, ti("人口増加率"))