- Step3. 実践編
- 1. データの整理と可視化
1-1. 箱ひげ図
次のデータは、「Step0. 初級編 4-3. 箱ひげ図を描いてみよう」で用いたデータです。このデータを使って、福猫県と猫島県で行われるお祭りでの花火の総打ち上げ数から箱ひげ図を作成してみましょう。
ファイルのダウンロードはこちらから
- (日本語)neko_hanabi.csv
- (英語)neko_hanabi.csv
■Excelによる解析例
- 「neko_hanabi.csv」のデータをすべて選択(A1セルからB11セルまで)
- 挿入 > ヒストグラムの絵 > 箱ひげ図を選択(デフォルトのグラフが出力されます)
- デフォルトのグラフを加工
※「×」は平均値を表します。
■Rによる解析例
・その1(packageを使わない場合)
dat <- read.csv("neko_hanabi_eng.csv", header=T) boxplot(list(Fukuneko=dat[,1], Nekoshima=dat[,2]), main="Fireworks", col="skyblue")
・その2(ggplot2を使う場合)
library(ggplot2) library(reshape2) dat <- read.csv("neko_hanabi_eng.csv", header=T) #データ読み込む dat2 <- melt(dat) #データを縦に並べかえる #デフォルトのグラフの出力 G1 <-ggplot(dat2, aes(x = variable, y = value)) + #x軸とy軸のデータを設定 geom_boxplot(fill="skyblue") + #箱ひげ図を指定&箱の色を指定 plot(G1) #加工後のグラフの出力 G2 <-ggplot(dat2, aes(x = variable, y = value)) + geom_boxplot(fill="skyblue") + labs(title="Fireworks") + #図のタイトルを指定 theme(panel.grid.major = element_blank(), #背景のgridの削除 panel.grid.minor = element_blank(), #背景のgridの削除 panel.background = element_blank(), #背景色の削除 axis.line=element_line(colour = "black"), #グラフの線の色を指定 axis.ticks=element_line(colour = "black"), #グラフの目盛(ticks)の色を指定 axis.text=element_text(size=14), #グラフの目盛のフォントサイズを指定 axis.title.x = element_blank(), #x軸ラベルを削除 axis.title.y = element_blank(), #y軸ラベルを削除 plot.title = element_text(size = 20, hjust = 0.5)) #グラフのタイトルのフォントサイズと位置を指定 plot(G2)
■Pythonによる解析例
・その1(matplotlibを使う場合)
import pandas as pd import matplotlib.pyplot as plt dat = pd.read_csv("neko_hanabi_eng.csv") dat2 = [dat["Fukuneko"],dat["Nekoshima"]] #デフォルトのグラフの出力 fig, ax = plt.subplots() #グラフの大枠の作成 ax.boxplot(dat2) #箱ひげ図を指定 plt.show() #グラフを表示 #加工後のグラフの出力 fig, ax = plt.subplots() ax.boxplot(dat2, patch_artist=True, #細かい設定を許可 widths=0.5, #箱の幅を指定 boxprops=dict(facecolor="skyblue"), #箱の色の指定 medianprops=dict(color="black") #箱の中央値線の色の指定 ) ax.set_xticklabels(["Fukuneko", "Nekoshima"]) #x軸のラベルの指定 plt.title("Fireworks", fontsize=18) #グラフのタイトルとフォントサイズを指定 plt.show()
・その2(matplotlib + seabornを使う場合)
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns dat = pd.read_csv("neko_hanabi_eng.csv") dat2 = pd.melt(dat) #データを縦に並べかえる #デフォルトのグラフの出力 sns.catplot(x="variable", y="value", kind="box", data=dat2) #箱ひげ図を指定 plt.show() #加工後のグラフの出力 sns.set() #グラフの設定を初期化 sns.set_style("white") #グラフのスタイルを指定 sns.catplot(x="variable", y="value", kind="box", data=dat2, color="skyblue") #箱ひげ図&箱の色を指定 plt.xlabel("") #x軸ラベルを削除 plt.ylabel("") #y軸ラベルを削除 plt.title("Fireworks", fontsize=18) #グラフのタイトルとフォントサイズを指定 plt.show()