データが適切にフォーマットされていれば、生活はずっと楽になります。関数はまたはのbarplot
入力を受け取ります。入力が の場合、R は を使用して自動的にラベルを付けることができます。vector
matrix
matrix
dimnames
これを試して:
heights1 = c(5, 5, 4.5, 4)
barplot(t(matrix(heights1, ncol=2, byrow=TRUE,
dimnames=list(c("Hindi", "English"),
c("Read/Write", "Speak")))),
main="Language ", ylab="Level",
xlab="Language starting with mostly used",
col=c("darkblue", "red"),
beside=TRUE, ylim = c(0, 6),
legend.text = TRUE,
args.legend = list(x = "topright"))

2 つのグループ間の間隔が広すぎる場合は、ここでも @Didzis による提案が適切です。ドキュメントの詳細を念頭に置いて、コマンドに追加space = c(0, .2)
します。barplot
height
が行列でbeside
isTRUE
の場合space
、2 つの数値で指定できます。最初の数値は同じグループ内のバー間のスペースで、2 番目の数値はグループ間のスペースです。明示的に指定されていない場合、デフォルトでc(0,1)
、 height が行列で横にある場合はTRUE
、0.2
そうでない場合は になります。