レイアウトで効率的な可視化

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

Gustavo Vieira Suñe

Data Analyst

レイアウト

  • 1図に複数の曲線

K-POP の聴取頻度でグループ化した年齢分布の密度プロット。同一図にカテゴリごとの曲線を表示。

  • プロットグリッド(layout

2×2 グリッドの密度プロット。K-POP の聴取頻度ごとに年齢分布を表示。各プロットの線色は異なる。

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

グリッド

using StatsPlots, DataFrames, CSV

# データセットを読み込む
streaming = DataFrame(
    CSV.File("streaming.csv")
)

# 密度プロットを作成 density( streaming.Age, group=streaming."Frequency [K pop]", linewidth=2.5,
# レイアウトを指定 layout=4, )

2×2 グリッドの密度プロット。K-POP の聴取頻度ごとに年齢分布を表示。すべて同じ線色。

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

グリッド要素のカスタマイズ

using Colors

# Julia ロゴの色
logocolors = Colors.JULIA_LOGO_COLORS
colors = [logocolors.blue logocolors.red
    logocolors.green logocolors.purple]

density( streaming.Age, group=streaming."Frequency [K pop]", linewidth=2.5, layout=4, # 線色 linecolor=colors, )

2×2 グリッドの密度プロット。K-POP の聴取頻度ごとに年齢分布を表示。各プロットの線色は異なる。

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

グリッドレイアウトの制御

density(
    streaming.Age,
    group=streaming."Frequency [K pop]",
    linewidth=2.5,
    linecolor=colors,

# レイアウトの行列数 layout=(4, 1),
# 軸ラベル xlabel=["" "" "" "Age"], ylabel="Probability", )
# 軸範囲 xlims!(10, 80) ylims!(0, 0.2)

4×1 グリッドの密度プロット。K-POP の聴取頻度ごとに年齢分布を表示。各プロットの線色は異なる。

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

高度なレイアウト

プロットのグリッド。上段は年齢と不安度をストリーミングサービス別に示す2つの箱ひげ図。下段は各サービスの年齢分布のヒストグラム3つ。

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

手順

theme(:wong)
# 色を選択
colors = [:purple :green3 :firebrick1]


# 1つ目の箱ひげ図 p1 = boxplot(streaming."Streaming service", streaming.Age,
# サービス別にグループ化 group=streaming."Streaming service", color=colors,
label=false, ylabel="Age", # 外れ値を非表示 outliers=false)

ストリーミングサービス別の年齢分布を示す箱ひげ図。

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

手順

# 2つ目の箱ひげ図
p2 = boxplot(
    streaming."Streaming service",
    streaming.Anxiety,
    # サービス別にグループ化
    group=streaming."Streaming service",
    color=colors,
    label=false,
    ylabel="Anxiety",
    # 外れ値を非表示
    outliers=false,
)

ストリーミングサービス別の不安度分布を示す箱ひげ図。

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

手順

# ヒストグラム
p3 = histogram(
    streaming.Age,
    group=streaming."Streaming service",
    color=colors,
    # 線を削除
    linewidth=0,

# レイアウトを指定 layout=(1, 3),
xlabel="Age", # y軸ラベルを設定 ylabel=["Frequency" "" ""] )

各ストリーミングサービスの年齢分布を示す3つのヒストグラム。

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

プロットの結合

# レイアウトを選択
layout = @layout [a b; c]

プロットのレイアウト構造を示す図。

# プロットを結合
plot(p1, p2, p3, layout=layout)

プロットのグリッド。上段は年齢と不安度の箱ひげ図、下段は各サービスの年齢分布のヒストグラム3つ。

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

Ayo berlatih!

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

Preparing Video For Download...