三権分立

diagram パッケージ

(参考)
R パッケージ diagram:グラフ,フローチャート,ウェブの簡単な可視化

衆議院:三権分立

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
library(diagram)
#png("sanken.png",width=800,height=640)
par(family = "TakaoExMincho")
par(mar = c(2, 2, 3, 2))
openplotmat(main = "三権分立")
elpos <- coordinates (c(1, 1, 2))
arrpos <- matrix(ncol = 2, nrow = 1)
#
len=0.55 ; wid=0.3
#
arrpos[1,] <- straightarrow(from = elpos[2, ], to = elpos[1, ], lty = 3, lcol = 3 ,arr.len = len, arr.width = wid)
text(arrpos[1, 1]+0.03, arrpos[1, 2],cex=1, "選挙")
#
arrpos[1,] <- straightarrow(from = elpos[2, ], to = elpos[3, ], lty = 3, lcol = 3,arr.len = len, arr.width = wid)
text(arrpos[1, 1]+0.03, arrpos[1, 2],cex=1, "世論")
#
arrpos[1,] <- straightarrow(from = elpos[2, ], to = elpos[4, ], lty = 3, lcol = 3,arr.len = len, arr.width = wid)
text(arrpos[1, 1]+0.05, arrpos[1, 2],cex=1, "国民審査")
#
arrpos[1,] <- bentarrow(from = elpos[1, ]+c(0,0.02), to = elpos[3, ]+c(-0.02,0), lty = 1, lcol = 2,arr.len = len, arr.width = wid)
text(arrpos[1, 1]-0.02, arrpos[1, 2],cex=0.8, lab="内閣不信任決議 / 内閣総理大臣の指名",srt =90)
#
arrpos[1,] <- bentarrow(from = elpos[3, ]+c(0.02,0), to = elpos[1, ]+c(0,-0.02), lty = 1, lcol = 2 ,path = "R",arr.side = 1,arr.len = len, arr.width = wid)
text(arrpos[1, 1]+0.02, arrpos[1, 2],cex=0.8, lab="国会の召集 / 衆議院の解散 / 国会に対する連帯責任" ,srt =90)
#
arrpos[1,] <- bentarrow(from = elpos[1, ]+c(0,0.02), to = elpos[4, ]+c(0.02,0), lty = 1, lcol = 2,arr.len = len, arr.width = wid)
text(arrpos[1, 1]+0.02, arrpos[1, 2],cex=0.8, lab="弾劾裁判",srt =90)
#
arrpos[1,] <- bentarrow(from = elpos[4, ]+c(-0.02,0), to = elpos[1, ]+c(0,-0.02), lty = 1, lcol = 2,path = "R",arr.side = 1,arr.len = len, arr.width = wid)
text(arrpos[1, 1]-0.02, arrpos[1, 2],cex=0.8, lab="違憲立法審査",srt =90)
#
arrpos[1,] <- straightarrow(from = elpos[3, ]+c(0,-0.02), to = elpos[4, ]+c(0,-0.02) , lty = 1, lcol = 2,arr.len = len, arr.width = wid)
text(arrpos[1, 1], arrpos[1, 2]-0.03,cex=0.8, lab="最高裁判所長官の指名 / その他の裁判官の任命")
#
arrpos[1,] <- straightarrow(from = elpos[4, ]+c(0,0.02), to = elpos[3, ]+c(0,0.02) , lty = 1, lcol = 2,arr.len = len, arr.width = wid)
text(arrpos[1, 1], arrpos[1, 2]+0.03,cex=0.8, lab="命令・規則・処分の適法性の審査")
#
textellipse(elpos[1, ], 0.05, 0.05, lab = c("国会","(立法)"), cex = 1,shadow.size = 0, box.col= "lightgreen")
textellipse(elpos[2, ], 0.05, 0.05, lab = c("国民"), cex = 1,shadow.size = 0, box.col= "pink")
textellipse(elpos[3, ], 0.05, 0.05, lab = c("内閣","(行政)"), cex = 1,shadow.size = 0, box.col= "lightgreen")
textellipse(elpos[4, ], 0.05, 0.05, lab = c("裁判所","(司法)"), cex = 1,shadow.size = 0, box.col= "lightgreen")
#
#dev.off()