Take Your Time

仕事や研究、コンピューターとの付き合い方

プロっぽいplot

ただのplotは簡単だが、あまり美しくない。しかしちょっとしたテクニックで大分かっこよくなる。
至極簡単な例をみよう。
ある店舗の車のセールスをグラフ化するとする。
cars <- c(1, 3, 6, 4, 9)
cars2 <- c(2, 2, 6, 3, 4)
plot(cars, type = "b", pch = 1, ylim = c(0,10), lty = 1, xlab = "", ylab="",xaxt = "n")
par(new = T)
plot(cars2, type = "b", pch = 2, ylim = c(0,10), lty = 1, xlab = "", ylab="")
legend("topleft", c("car","cars2"), pch = c(1,2))
title(main = "car")
出てくるのはこれだ。

これじゃ会社のプレゼンでは使えない。

じゃ、これはどうだろうか。さっきと変えた部分を赤字にしてある。

cars <- c(1, 3, 6, 4, 9)
cars2 <- c(2, 2, 6, 3, 4)
plot(cars, type = "l", pch = 1, ylim = c(0,10), lty = 1, xlab = "", ylab="",xaxt = "n", col = "blue")
par(new = T)
plot(cars2, type = "l", pch = 2, ylim = c(0,10), lty = 2, col = "red", xlab = "term", ylab = "sales")
legend("topleft", c("car","cars2"), lty = c(1,2), col = c("blue", "red"),bty = "n")
abline(v = 4, lty = 2)
title(main = "car")

出てくるのはこれだ。

ポイントは、type を"b" (both) から"l"(line)に変え、更に凡例(legend)の囲いをなくした(bty = "n")。また、最後にablineを追加し、出したいメッセージを明確にした。これならちょっとした会議資料には使えそうだ。