エクセルでカレンダーを作り始めたのですが、Rでも簡単に作れるのではないかと思いました。(注: さまざまなヒートマップ カレンダー パッケージを認識していますが、私はggplot2
. Y 軸 (上が第 1 週、下が第 4 または第 5 週) と X 軸に沿った曜日 (月曜日から開始)。
これは 15 分の作業 (すべての月のデータを作成し、 を使用して少しフォーマットしてreshape
から使用するfacet_wrap
) だと思っていましたが、以下のプロットが示すように、ほとんどすぐに問題に遭遇しました。週は大丈夫そうです。R でのデータの順序付けは、私の天敵です。私は本当にこれを処理する必要があります。とにかく、下の画像は私がこれまでに持っているものを示しており、コードはその下にあります。これは単なる楽しいプロジェクトであり、緊急ではありませんが、助けや装飾は大歓迎です。
require(ggplot2)
require(scales)
require(lubridate)
date.start <- as.Date('2013-09-01')
date.end <- date.start + months(1)
mydf <- data.frame(mydate = seq(as.Date(date.start),
as.Date(date.end) - days(1),
by = 'day'))
mydf$month <- month(mydf$mydate)
mydf$week <- week(mydf$mydate)
mydf$day <- day(mydf$mydate)
mydf$dow <- as.factor(format(mydf$mydate, format = "%a"))
levels(mydf$dow) <- c('Mon','Tue','Wed','Thu','Fri','Sat','Sun')
ggplot(mydf, aes(x = dow, y = as.factor(week))) +
geom_tile(colour = "black", fill = "white", label = mydf$day) +
geom_text(label = mydf$day, size = 4, colour = "black") +
scale_x_discrete(expand = c(0,0)) +
theme(axis.ticks = element_blank()) +
theme(axis.title.y = element_blank()) +
theme(axis.title.x = element_blank()) +
theme(panel.background = element_rect(fill = "transparent"))+
theme(legend.position = "none") +
theme()