Gambare Nippon in ggplot2



geom_textのfamily指定は次のバージョンで実装される予定なので、今のところCRAN上のggplot2では↓の例は動きません。

quartzFonts(HiraMin=quartzFont(rep("Hiragino Mincho Pro W6", 4)))

th <- seq(0, 2*pi, length=256)
d1 <- data.frame(x=sin(th), y=cos(th))
txt <- c("がんばれ、日本。", "がんばれ、東北。")
nc <- nchar(txt)[1]
d2 <- data.frame(
  x=c(0.2, -0.2),
  y=rep(rescale(1:nc, c(0.75, -0.75)), each=2),
  txt=c(sapply(1:nc, function(i)substr(txt,i,i)))
  )
# 句読点のためのゴニョゴニョ
d2[c(9:10, 15:16),]$x <- d2[c(9:10, 15:16),]$x+0.15
d2[c(9:10, 15:16),]$y <- d2[c(9:10, 15:16),]$y+0.15

ggplot() + 
  geom_polygon(aes(x,y), d1, colour="red", fill="red") +
  geom_text(aes(x,y,label=txt), 
    d2, family="HiraMin", size=16, colour="white") +
  opts(axis.title.x=theme_blank(), axis.title.y=theme_blank(),
    aspect.ratio=1)

横書きだと簡単です。

th <- seq(0, 2*pi, length=256)
d1 <- data.frame(x=sin(th), y=cos(th))
d2 <- data.frame(x=0, y=c(0.2, -0.2), txt=c("がんばれ、日本。", "がんばれ、東北。"))

ggplot() + 
  geom_polygon(aes(x,y), d1, colour="red", fill="red") +
  geom_text(aes(x,y,label=txt), 
    d2, family="HiraMin", size=16, colour="white") +
  opts(axis.title.x=theme_blank(), axis.title.y=theme_blank())

この記事にインスパイアされて作りました。なんか元気でました。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s