Snowflake Notebooks のデータを可視化する¶
Snowflake Notebooks では、matplotlibやplotlyなど、お気に入りのPython可視化ライブラリを使用して、可視化を開発できます。
このトピックでは、以下のライブラリを使用してノートブックでデータを可視化する方法を説明します。
データセット¶
このトピックの例では、 Palmer's Penguin dataset に基づく以下のおもちゃのデータセットを使います。
| species | measurement | value | 
|---|---|---|
| adeli | bill_length | 37.3 | 
| adeli | flipper_length | 187.1 | 
| adeli | bill_depth | 17.7 | 
| chinstrap | bill_length | 46.6 | 
| chinstrap | flipper_length | 191.7 | 
| chinstrap | bill_depth | 17.6 | 
| gentoo | bill_length | 45.5 | 
| gentoo | flipper_length | 212.7 | 
| gentoo | bill_depth | 14.2 | 
このデータセットは、次のコードでノートブックに作成できます。
species = ["adelie"] * 3 + ["chinstrap"] * 3 + ["gentoo"] * 3
measurements = ["bill_length", "flipper_length", "bill_depth"] * 3
values = [37.3, 187.1, 17.7, 46.6, 191.7, 17.6, 45.5, 212.7, 14.2]
df = pd.DataFrame({"species": species,"measurement": measurements,"value": values})
df
Altairで結果を可視化¶
Altairは、Streamlitの一部として Snowflake Notebooks、デフォルトでインポートされます。 Snowflake Notebooks、現在Altairバージョン4.0をサポートしています。Altairを使用する際に利用可能な可視化タイプの詳細については、 Vega-Altair: Pythonによる宣言的可視化 をご参照ください。
次のコードは、おもちゃのデータセットを含む df というデータフレーム内のすべての測定値の積み上げ棒グラフをプロットします。
import altair as alt
alt.Chart(df).mark_bar().encode(
    x= alt.X("measurement", axis = alt.Axis(labelAngle=0)),
    y="value",
    color="species"
)
セルを実行すると、次のような可視化が表示されます。
 
matplotlibで結果を可視化する¶
matplotlibを使うには、ノートブックにmatplotlibライブラリをインストールしてください:
- ノートブックから、 Packages を選択します。 
- matplotlib ライブラリを探し、インストールするライブラリを選択します。 
次のコードは、matplotlibを使って、おもちゃのデータセット df をプロットしたものです。
import matplotlib.pyplot as plt
pivot_df = pd.pivot_table(data=df, index=['measurement'], columns=['species'], values='value')
import matplotlib.pyplot as plt
ax = pivot_df.plot.bar(stacked=True)
ax.set_xticklabels(list(pivot_df.index), rotation=0)
セルを実行すると、次のような可視化が表示されます。
 
st.pyplot チャート要素の使い方の詳細については、 st.pyplot をご参照ください。
plotlyで結果を可視化する¶
plotlyを使うには、ノートブック用のplotlyライブラリをインストールしてください:
- ノートブックから、 Packages を選択します。 
- plotly ライブラリを探し、インストールするライブラリを選択します。 
次のコードは、おもちゃのデータセット df からペンギンの測定値を棒グラフにしたものです。
import plotly.express as px
px.bar(df, x='measurement', y='value', color='species')
セルを実行すると、次のような可視化が表示されます。
 
seabornで結果を可視化する¶
seabornを使うには、ノートブック用のseabornライブラリをインストールする必要があります。
- ノートブックから、 Packages を選択します。 
- seaborn ライブラリを探し、インストールするライブラリを選択します。 
次のコードは、おもちゃのデータセット df からペンギンの測定値を棒グラフにしたものです。
import seaborn as sns
sns.barplot(
    data=df,
    x="measurement", hue="species", y="value",
)
セルを実行すると、以下のような可視化が表示されます。
 
seabornの可視化の例については、seabornの 事例ギャラリー をご参照ください。
Streamlitで結果を可視化する¶
Streamlit はデフォルトで Snowflake Notebooks にインポートされます。Streamlitバージョン1.39.0でサポートされているチャート要素を使用して、折れ線グラフ、棒グラフ、面グラフ、またはポイント付きマップを作成することができます。 チャート要素 をご参照ください。
注釈
Streamlitチャート要素の中には、Snowflakeでサポートされていないものや、追加条件が適用されるものがあります。 ノートブックでのStreamlitサポート をご参照ください。
おもちゃのデータセット、 df を棒グラフで可視化するには、次のPythonコードを使います。
import streamlit as st
st.bar_chart(df, x='measurement', y='value', color='species')
両方のセルを実行すると、以下のような可視化が表示されます。
 
Streamlitでインタラクティブなデータアプリケーションを構築する方法の詳細については、 ノートのストリームリット をご参照ください。