EZR でヒストグラムを書いて、色を変える方法
EZR でヒストグラムをグループ別にカラーで描いてみる
KTSND という連続データと SMK というカテゴリカルデータを用いて、ヒストグラムを書いてみる
EZRのメニュー「グラフと表」から「ヒストグラム」を選択。
変数にKTSND、群別変数にSMKを選ぶ。
「カラーで描画する」をクリックする。
OKをクリックするとカラーでグラフが描かれる。
EZR でヒストグラムを書く際の色の系統を確認する
色を変えたいときに一番簡単なのは、標準色の8色から色を選ぶことだ。
そこで、標準色を確認してみる。
「グラフと表」から「グラフの色の系統の変更」を選択。
何もいじらずOKをクリックする。
標準色の一覧が図示される。
この8色から選ぶのが一番簡単な方法だ。
EZR でヒストグラムを書いたあと色を変える
EZRの標準色の8色を使ってグラフの色を変えてみる。
緑を青にしてみる。
いま3番の緑を使っているので、4番の青に変更してみる。
変更するにはRスクリプトを変更して、再度実行する。
変更するスクリプトは col=c() という場所だ。
この群別ヒストグラムは「Rスクリプト」窓の中の以下の部分で描かれている。
#####ヒストグラム#####
windows(width=7, height=7); par(lwd=1, las=1, family="sans", cex=1,
mgp=c(3.0,1,0))
res <- hist(Dataset$KTSND, breaks='scott', plot=FALSE)
temp.y <- Dataset[Dataset$SMK=="0",]$KTSND
temp.h <- hist(temp.y, breaks=res$breaks, plot=FALSE)$counts
temp.y <- Dataset[Dataset$SMK=="1",]$KTSND
temp.h <- rbind(temp.h, hist(temp.y, breaks=res$breaks, plot=FALSE)$counts)
barplot(temp.h, beside=TRUE, space=c(0, 0.4),
names.arg=res$breaks[-length(temp.h[1])],
legend=levels(factor(Dataset$SMK)), args.legend=list(title="SMK",
box.lty=0), axis.lty=1, axisnames=TRUE, col=c(2:3))
breaks <- NULL
for (i in 1:(length(res$breaks)-1)){breaks[i] <- paste(res$breaks[i], "-",
res$breaks[i+1], sep="")}
colnames(temp.h) <- breaks
rownames(temp.h) <- levels(as.factor(Dataset$SMK))
temp.h
キモの部分は以下の barplot() の部分だ。
barplot(temp.h, beside=TRUE, space=c(0, 0.4),
names.arg=res$breaks[-length(temp.h[1])],
legend=levels(factor(Dataset$SMK)), args.legend=list(title="SMK",
box.lty=0), axis.lty=1, axisnames=TRUE, col=c(2:3))
最後に出てくる col=c(2:3) という部分を col=c(2,4) と変更する。
barplot(temp.h, beside=TRUE, space=c(0, 0.4),
names.arg=res$breaks[-length(temp.h[1])],
legend=levels(factor(Dataset$SMK)), args.legend=list(title="SMK",
box.lty=0), axis.lty=1, axisnames=TRUE, col=c(2,4))
このように変更して、barplotから最後までを選択し、右にある実行ボタンをクリックする。
スクリプトを選択し、実行ボタンをクリックすると、選択部分のスクリプトが実行される
そうすると、2番の赤と、3番の緑を使っていたグラフが、2番の赤と4番の青を使ったグラフに変わる。
6番のマゼンタと5番のシアンという配色もできる。
barplot(temp.h, beside=TRUE, space=c(0, 0.4),
names.arg=res$breaks[-length(temp.h[1])],
legend=levels(factor(Dataset$SMK)), args.legend=list(title="SMK",
box.lty=0), axis.lty=1, axisnames=TRUE, col=c(6,5))
この1番から8番までの色を変更することもできる。
「グラフと表」→「グラフの色の詳細設定」を選択する。
色の四角をクリックすると、色を変えることができる。
変更した後は、1~8番の番号を指定するだけで変更した色が使える。
EZR でヒストグラムの色を変える 色名を使う方法
col=c() の中の指定を変えれば、もっといろいろな色を使うことができる。
ごく一般的な色名で例えば purple, pink を使いたい場合、”purple”, “pink”と直接書き込むことで指定できる。
barplot(temp.h, beside=TRUE, space=c(0, 0.4),
names.arg=res$breaks[-length(temp.h[1])],
legend=levels(factor(Dataset$SMK)), args.legend=list(title="SMK",
box.lty=0), axis.lty=1, axisnames=TRUE, col=c("purple","pink"))
EZR でヒストグラムで変えられる色数は 657 色
統計ソフトRで指定できる色名は657色もある。
以下のようにシンプルにコンソールに書いてエンターをヒットするとずらっと色名が出力される。
その中の珍しい色名で指定することできる。
colors()
たとえば、ターコイズ(turquoise)と バイオレットレッド4(violetred4)というのを使うと、以下のような素敵な色のグラフを描くこともできる。
barplot(temp.h, beside=TRUE, space=c(0, 0.4),
names.arg=res$breaks[-length(temp.h[1])],
legend=levels(factor(Dataset$SMK)), args.legend=list(title="SMK",
box.lty=0), axis.lty=1, axisnames=TRUE, col=c("turquoise","violetred4"))
まとめ
EZRで、カラーのグラフを描いたときに、色をどのように変えるか、どのような色に変えられるかを紹介した。
メニューからテンプレートとなるスクリプトを書かせ、そのスクリプトを再利用して、col=c() の部分だけを変更して、色を変えたグラフを描かせる方法だ。
参考になれば。
コメント