DataFrameから複数プロット

Juliaで学ぶデータ可視化入門

Gustavo Vieira Suñe

Data Analyst

1つのプロットに複数変数

# バイオリンプロット
@df insurance violin(
    :Sex, :Charges,
    label=false, linewidth=0,
    fillcolor=:grey40
)

# 箱ひげ図を追加 @df insurance boxplot!( :Sex, :Charges, label=false, alpha=0.75, fillcolor=:mediumorchid3, outliers=false, ) ylabel!("Insurance Premium (USD)")

性別ごとの保険料分布を示す、箱ひげ図とバイオリンプロットの重ね描き。

Juliaで学ぶデータ可視化入門

カテゴリデータとレイアウト

  • insurance DataFrame
Age Sex BMI Children Smoker Region Charges
19 female 27.90 0 yes southwest 16884.90
18 male 33.77 1 no southeast 1725.55
28 male 33.00 3 no southeast 4449.46
... ... ... ... ... ... ...
  • カテゴリ列 → 並列プロットで可視化
    • @df レシピは layout 引数と互換!
Juliaで学ぶデータ可視化入門

DataFrameでのレイアウト

@df insurance violin(
    :Sex,
    :Charges,
    group=:Region,
    linewidth=0,
    color=[:red :green :blue :purple],
    legend_position=:top,

# レイアウト指定 layout=(2,2)
) ylims!(0, 6*10^4) ylabel!("Premium (USD)")

各地域ごとに、性別別の保険料分布を示す2×2の箱ひげ図グリッド。

Juliaで学ぶデータ可視化入門

チェーンの活用

@chain insurance begin
    # Smoker列を数値化
    transform(:Smoker
        => ByRow(x -> x == "yes" ? 100 : 0)
        => :Smoker)

groupby([:Sex, :Children]) combine(:Smoker => mean)
@df bar(:Children, :Smoker_mean, group=:Sex, linewidth=0, fillcolor=[:cyan4 :chocolate2], # レイアウト指定 layout=2)
end ylims!(0, 35) xlabel!("Children") ylabel!("Percentage of Smokers")

喫煙者の割合と子どもの人数の関係を示す1×2の棒グラフグリッド。

Juliaで学ぶデータ可視化入門

相関行列プロット

2×2のプロットグリッド。対角には年齢とBMIの分布を示すヒストグラム。主対角の上は年齢とBMIの2次元ヒストグラム、下は同じ変数の散布図。

Juliaで学ぶデータ可視化入門

相関行列プロット

2×2のプロットグリッド。対角には年齢とBMIの分布を示すヒストグラム。主対角の上は年齢とBMIの2次元ヒストグラム、下は同じ変数の散布図。

  • 対角

    • 変数分布のヒストグラム
  • 対角の上

    • 2次元ヒストグラム
  • 対角の下

    • 回帰線付き散布図
Juliaで学ぶデータ可視化入門

StatsPlots.jlの相関行列プロット

# DataFramesレシピを使用
@df insurance corrplot(

# 数値列 [:Age :BMI],
# カスタマイズ markercolor=:thermal, fillcolor=:acton )

2×2のプロットグリッド。対角には年齢とBMIの分布を示すヒストグラム。主対角の上は年齢とBMIの2次元ヒストグラム、下は同じ変数の散布図。

1 https://docs.juliaplots.org/latest/generated/colorschemes/
Juliaで学ぶデータ可視化入門

StatsPlots.jlの相関行列プロット

# DataFramesレシピを使用
@df insurance corrplot(
    # 数値列
    [:Age :BMI :Children :Charges],

# カスタマイズ markercolor=:thermal, fillcolor=:acton )

年齢、BMI、子どもの人数、保険料の相関行列プロット。

Juliaで学ぶデータ可視化入門

練習しましょう!

Juliaで学ぶデータ可視化入門

Preparing Video For Download...