質問を見て頂きありがとうございます.
拙い質問ですがよろしくお願いいたします.
分かりにくい箇所があれば,質問してください.
よろしくお願いいたします.
前提
Rを用いて図1のような教室数と生徒数がどのように遷移するかの図を作っています.教室数は生徒数から求めたものです.その教室数を学校が保有している教室数と比較することで,過不足も判定し,棒グラフの色によって表示している状況です.
分析すべき学校が複数あるためfor文で一括して図を出力しています.
すると,図2に示す通り教室状況を示す色が図1と異なってしまい,分かりにくい図になってしまいました.
↓図2
例えば,図1では”足りる”が赤になっていますが,図2では黄色になっています.
実現したいこと
図1でも図2でも”足りる”を示す色を同じにしたい.
該当のソースコード
R
1for (sname in sname_list){ 2 number = number + 1 3#グラフ作成用の名前を作成 4 npng = paste(as.character(number),".png") 5 name_tmp = paste("小学校",as.character(number)) 6 7#グラフ作成用にテーブルから要素を取り出す 8 tmp_table = sumary_table[sumary_table$s_list == sname,] 9 #y1軸を教室数 10 y1.lim = c(0,max(tmp_table$classes)+5) 11 y2.lim = c(0,max(tmp_table$pop)+150) 12 scaler = (y1.lim[2] - y1.lim[1])/(y2.lim[2] - y2.lim[1]) 13 14 15 p = ggplot(tmp_table) + 16 geom_bar(aes(x=y_list,y=classes,fill=phase),stat="identity",width=0.7) + 17 geom_line(aes(x=y_list,y=pop*scaler,colour="小学生数"),size=1) + 18 scale_fill_manual(values=c("#2e9c28","#e6d92e","#b03125"),name="教室状況") + 19 scale_y_continuous(limit=y1.lim, expand = c(0, 0), 20 sec.axis=sec_axis(trans = ~ ./scaler, 21 breaks=seq(from=y2.lim[1], to=y2.lim[2], by=100),name="小学生数")) + 22 labs(x="\n年\n", y="\n教室数\n", color = "", 23 title='\n各小学校区の小学生数と教室数の遷移', 24 subtitle=name_tmp) 25 #print(p) 26 plot(p) 27
sumary_tableについて説明します.
y_listが年,classesが教室数,popが生徒数,phaseが教室状況("足りる","整備すれば足りる","整備しても足りない")
以上,よろしくお願いいたします.

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/26 19:28