[R]Play with ggplot2 Part 04 “geom_polygon”

slowtwitch を見ていたら Run For Japan という募金運動が紹介されていた。


アンバサダーには Paula Radcliffe や Chrissie Wellington も名を連ねている。
slowtwitch.com “What We Have Noticed: Japan” Written by: Herbert Krabel

その記事内では日章旗と赤十字のシンボルを合体させたポスターが掲載されていた。

R & ggplot2 & geom_polygon の組合せで、このロゴを描いてみる。

library(ggplot2)
angle <- seq(-pi, pi, length = 50)
circle <- data.frame(x = 3 * sin(angle), y = 3 * cos(angle))
red_cross <- data.frame(x = c(2, 0.75, 0.75, -0.75, -0.75, -2, -2, -0.75, -0.75, 0.75, 0.75, 2),
                  y = c(0.75, 0.75, 2, 2, 0.75, 0.75, -0.75, -0.75, -2, -2, -0.75, -0.75))

p <- ggplot(circle, aes(x, y))
p <- p + geom_polygon(fill='red') + geom_polygon(aes(x, y), fill='white', data=red_cross, inherit.aes=F)
p + opts(title            = 'Run For Japan!',
         plot.title       = theme_text(size=32),
         axis.title.x     = theme_blank(),
         axis.title.y     = theme_blank(),
         axis.text.x      = theme_blank(),
         axis.text.y      = theme_blank(),
         axis.ticks       = theme_blank(),
         panel.grid.major = theme_blank(),
         panel.grid.minor = theme_blank(),
         panel.background = theme_blank())


# MEMO
円の描画 は ggplot2 のメーリングリストに投稿されていた Hadley 師匠のコードを流用させてもらった。
Q : adding circle to graph?

# Geometry
日章旗はジオメトリーが定義されているらしく、それに従った。
問題は赤十字のロゴ。
最初は計算しやすいように、下の図のようなジオメトリーを考えていた。

しかし、描画してみると、非常にずんぐりしていたため、red_cross の数字をいじってほっそりさせた。

# fatty geometry
red_cross  <- data.frame(x = c(2, 1, 1, -1, -1, -2, -2, -1, -1, 1, 1, 2),
                  y = c(1, 1, 2, 2, 1, 1, -1, -1, -2, -2, -1, -1))
Tagged with: , , ,
Posted in R
One comment on “[R]Play with ggplot2 Part 04 “geom_polygon”
  1. […] この記事にインスパイアされて作りました。なんか元気でました。 […]

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

Archives
  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 1 week ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 3 weeks ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 3 weeks ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 6 months ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 9 months ago
%d bloggers like this: