フランス国旗と五輪車のカラーコードを利用した視覚化(feat. 2024年パリオリンピック)

2024年7月26日から8月11日までの日程の パリオリンピック 記念に 五輪車とフランス国旗の描き方を紹介します。しようとします。五輪車のカラーコードは #0057B8(Blue), #FFA300(Yellow), #000000(Black), #009B3A(Green), #EF3340(Red) です。このカラーコードを利用してLife2.0テリと一緒にRのggplot2パッケージを使って描いてみましょう。
五輪車とフランス国旗
カラーコードとその意味
フランス国旗

フランスの国旗は、青(#002395)、白(#FFFFFFFF)、赤(#ED2939)の3色からなる縦縞で構成されており、「三色旗」とも呼ばれています。各色はフランス革命の価値観に関連しています。
- 青色は 自由を象徴しています。フランス革命時のパリ民兵の色に由来し、自由と民主主義を表しています。
- 白色は 平等を象徴しています。これはフランスの王を象徴する色で、革命後はすべての人の平等を意味するようになりました。
- 赤色は 博愛を象徴しています。フランス革命時の革命軍の色に由来し、兄弟愛と国民間の連帯を意味します。
五輪旗のカラーコード(五輪旗)

五輪旗はオリンピックを象徴する旗で、白地に5つの輪が繋がっています。これらの輪は、青、黄、黒、緑、赤の4色で構成されています。五輪旗は世界中のスポーツマンシップと連帯を表し、オリンピックの理念である「より速く、より高く、より強く」を反映しています。
- この5つのリングは 5つの大陸を象徴しています。具体的には、アフリカ、アジア、ヨーロッパ、アメリカ、オセアニアを意味します。
- リングの色は、各大陸の特定の色を指しているわけではありません、 すべての国の国旗に少なくとも1つの色が含まれていますつまり、青(#0057B8)、黄色(#FFA300)、黒(#000000)、緑(#009B3A)、赤(#EF3340)のうち一つ以上の色がすべての国の国旗に存在します。
- 白い背景は 平和を象徴しています。オリンピックの精神である平和と和解を意味します。
図形の位置と色
オリンピックの五輪車とフランスの国旗は、それぞれ独特の色と配置を持っています。これを効果的に視覚化するためには、各図形の位置と色を正確に指定することが重要です。
オリンピックの五輪旗は、青、黒、赤、赤、黄、緑の5つの円で構成されており、各円は一定の間隔で配置されています。フランスの国旗は、青、白、赤の3色で構成された縦縞で構成されています。このような構成をデータ可視化として表現するために、ggplot2パッケージを使用します。
R Codeの説明
1.パッケージの読み込み
まず必要なパッケージである ggplot2と グリッドをロードします。 ggplot2はデータ可視化のためのパッケージです、 グリッドはレイアウトを制御するために使用されます。
library(ggplot2)
ライブラリ(グリッド)ggplot2は、データフレームを利用して様々な可視化を簡単に作成できるようにするRパッケージです。 グリッドは、複数のグラフィック要素を配置したり、レイアウトを設定するのに便利なツールです。
2.オリンピック五輪車描画機能
オリンピック五輪車を描くための関数を定義します。5つの円をそれぞれの色で指定し、中心座標を設定します。
# オリンピック五輪車描画機能
draw_olympic_flag <- function() {
# オリンピックカラー
olympic_colors <- c("#0057B8", "#000000", "#EF3340", "#FFA300", "#009B3A")
# 原点座標(実際の五輪機基準)
centers <- data.frame(
x = c(-1.5, 0, 1.5, -0.75, 0.75)、
y = c(0, 0, 0, 0, -0.8, -0.8, -0.8), # 黄と緑の円のy座標を-1から-0.8へ変更
color = olympic_colors
)
# ggplotで描画する
ggplot() +...
geom_point(data=centers, aes(x=x, y=y, color=color), size=30, shape=1, stroke=5) +...
scale_color_identity() +.
coord_fixed(ratio = 1, xlim = c(-3, 3), ylim = c(-2, 1)) +...
theme_void() +...
theme(plot.background = element_rect(fill = "white", color = NA))
}この関数では、5つの色と各円の中心座標を指定します。 geom_pointを使用して円を描きます、 scale_color_identityを使用して指定した色をそのまま使用します。 coord_fixedを通じて比率を固定しています、 theme_voidを使用して背景と軸を削除します。
geom_point: 円を描くための関数で、データフレームの各行に対して点を描きます。aes: aesthetic マッピングを定義する関数で、x軸とy軸の座標と色を指定します。サイズ:円の大きさを指定します。形: 点の形状を指定します。ここでは円形に設定します。ストローク:円の境界線の太さを指定します。scale_color_identity: カラーマッピングをそのまま使用します。coord_fixed: X軸とY軸の比率を固定します。theme_void:軸と背景を削除して、きれいなグラフを作成します。
3.フランス国旗の描画機能
フランスの国旗を描くための関数を定義します。青、白、赤の3色を指定し、縦縞を設定します。
# フランス国旗描画機能
draw_french_flag <- function() {
# フランス国旗の色
french_colors <- c("#002395", "white", "#ED2939")
# 旗の比率
flag_ratio <- 2/3
# ggplotで描画する
ggplot() +...
geom_rect(aes(xmin = 0, xmax = 1, xmin = 0, ymin = 0, ymax = 1), fill = french_colors[2]) +
geom_rect(aes(aes(xmin = 0, xmax = 1/3, ymin = 0, ymax = 1), fill = french_colors[1]) +
geom_rect(aes(aes(xmin = 2/3, xmax = 1, ymin = 0, ymax = 1), fill = french_colors[3]) +
coord_fixed(ratio = flag_ratio) +...
theme_void()
}この関数では、3つの色とそれぞれの正方形の座標を指定します。 geom_rectを使用して縦縞を描きます、 coord_fixedで比率を固定します。 theme_voidを使用して背景と軸を削除します。
geom_rect: 四角形を描くための関数で、xmin, xmax, ymin, ymax を利用して四角形の位置を指定します。埋める正方形の色を指定します。coord_fixed: X軸とY軸の比率を固定して、フランス国旗の比率を維持します。theme_void:軸と背景を削除して、きれいなグラフを作成します。
4.二つの国旗の描画機能
二つの国旗を並べて描くための関数を定義します。 grid.layoutそして ビューポートを使ってレイアウトを設定します。
# 二つの国旗を描く
plot_flags <- function() {
grid.newpage()
pushViewport(viewport(layout = grid.layout(1, 2)))
print(draw_olympic_flag(), vp = viewport(layout.pos.row = 1、layout.pos.row = 1, layout.pos.col = 1))
print(draw_french_flag(), vp = viewport(layout.pos.row = 1, layout.pos.col = 2))
}この関数では、新しいページを生成し、1行2列のレイアウトを設定します。 各ビューポートにオリンピックの五輪車とフランスの国旗を描きます。
grid.newpage(): 新しいページを作成します。プッシュビューポートを選択します:ビューポートを設定してレイアウトを指定します。viewport(layout = grid.layout(1, 2)): 1行2列のレイアウトを生成します。プリント: それぞれのビューポートにグラフを出力します。
5.関数実行
すべての関数を実行して国旗を描きます。
# 旗の描画実行
plot_flags()よくある失敗とその回避方法
視覚化を行う際によくあるミスと、それを回避する方法について説明します。
- 座標と色の不一致を作成します:オリンピックの五輪車のように、特定の位置と色が重要なビジュアライゼーションでは、各図形の位置と色を正確に指定する必要があります。 特に、五輪車の各円の中心座標を正確に設定することが重要です。このため、データフレームを使用して座標と色を明確に定義します。
- 比率維持フランス国旗のような比率が重要なビジュアライゼーションでは
coord_fixed関数を使用して比率を維持する必要があります。 そうしないと、国旗の比率が歪む可能性があります。 - テーマ設定: 不必要な軸と背景要素を取り除くために
theme_voidを使います。これにより、視覚化をすっきりさせることができます。
完全なコードと結果
完全なソースコードは以下の通りです。
library(ggplot2)
ライブラリ(グリッド)
# オリンピック五輪車描画機能
draw_olympic_flag <- function() {
olympic_colors <- c("#0057B8", "#000000", "#EF3340", "#FFA300", "#009B3A")
centers <- data.frame(
x = c(-1.5, 0, 1.5, -0.75, 0.75)、
y = c(0, 0, 0, 0, -0.8, -0.8)、
color = olympic_colors
)
ggplot() +...
geom_point(data=centers, aes(x=x, y=y, color=color), size=30, shape=1, stroke=5) +...
scale_color_identity() +.
coord_fixed(ratio = 1, xlim = c(-3, 3), ylim = c(-2, 1)) +...
theme_void() +...
theme(plot.background = element_rect(fill = "white", color = NA))
}
# フランス国旗描画機能
draw_french_flag <- function() {
french_colors <- c("#002395", "white", "#ED2939")
flag_ratio <- 2/3
ggplot() +...
geom_rect(aes(xmin = 0, xmax = 1, xmin = 0, ymin = 0, ymax = 1), fill = french_colors[2]) +
geom_rect(aes(aes(xmin = 0, xmax = 1/3, ymin = 0, ymax = 1), fill = french_colors[1]) +
geom_rect(aes(aes(xmin = 2/3, xmax = 1, ymin = 0, ymax = 1), fill = french_colors[3]) +
coord_fixed(ratio = flag_ratio) +...
theme_void()
}
# 二つの国旗を描く
plot_flags <- function() {
grid.newpage()
pushViewport(viewport(layout = grid.layout(1, 2)))
print(draw_olympic_flag(), vp = viewport(layout.pos.row = 1、layout.pos.row = 1, layout.pos.col = 1))
print(draw_french_flag(), vp = viewport(layout.pos.row = 1, layout.pos.col = 2))
}
# 旗の描画実行
plot_flags()このコードを実行すると、オリンピックの五輪車とフランスの国旗が並べて描かれます。 各国旗は正確な色と比率で視覚化されています、 theme_voidを使用してきれいな結果を提供します。
パリオリンピック記念Rコーディング終了

2024年のパリオリンピックを迎えるにあたり、ggplot2を使ってオリンピックの五輪車とフランスの国旗を描く過程を見ました。 データの視覚化はデータを理解し、伝えるために非常に重要なツールです。引き続き、様々な可視化技法を学びたい方は Rで複雑な関係図をデザインする(feat. DiagrammeR)ポストをクリックしてみてください!
今日もRの活用能力を上げるために努力している Life2.0: IT Playgroundエテリでした。 もし、Rが何なのか分からないけど、一度使ってみようかと思っている人は R, RStudioをインストールする - Windowsの場合記事を参考にしてください!




