こんにちは、JS2IIUです!
Streamlitを使えば、データを直感的に可視化できます。その中でも、DataFrameのセル内に線グラフ(ラインチャート)を描画できるst.column_config.LineChartColumnを使えば、データのトレンドを一目で確認できます。この記事では、この便利なクラスの使い方を詳しく解説していきます。ぜひ最後までお付き合いください!

はじめに
st.column_config.LineChartColumnは、DataFrameの列をラインチャート形式で表示するための設定を提供するクラスです。
これにより、以下のような用途でデータを視覚化できます:
- 時系列データの分析(例:売上推移、センサーデータの変動)
- 数値データのトレンド可視化(例:収益の増減、気温の変化)
- 一目でデータの変動を把握(例:ピークや低迷時期の確認)
st.column_config.LineChartColumnの主なオプション
label: 列名を指定します。help: 補足説明を設定できます。y_min: Y軸の最小値を設定します。y_max: Y軸の最大値を設定します。width: 列の幅をカスタマイズします。
基本的な使い方
以下の例では、製品ごとの月別売上データをラインチャートで表示します。
サンプルコード
import streamlit as st
import pandas as pd
from streamlit.column_config import LineChartColumn
# データフレームを作成
data = {
"Product": ["A", "B", "C"],
"Monthly Sales": [
[100, 150, 220, 170, 340],
[120, 140, 160, 180, 200],
[80, 100, 100, 200, 160]
]
}
df = pd.DataFrame(data)
# LineChartColumnで列をカスタマイズ
column_config = {
"Monthly Sales": LineChartColumn(
label="月別売上推移",
help="各製品の月別売上をラインチャートで表示します。",
y_min=0, # Y軸の最小値
y_max=350 # Y軸の最大値
)
}
# カスタム列設定でデータフレームを表示
st.dataframe(df, column_config=column_config)

コード解説
- データ作成
各製品の月別売上をリスト形式で用意しています。 LineChartColumnの設定
label: 列名を「月別売上推移」に設定。help: 列の補足説明を「各製品の月別売上をラインチャートで表示します」に設定。y_min/y_max: Y軸の範囲を指定して、チャートのスケールを調整。
- データフレーム表示
Streamlitのst.dataframeで、カスタム設定を反映させたDataFrameを表示します。
「Monthly Sales」列がラインチャートとして表示されます。
応用例:センサーデータの可視化
以下は、複数のセンサーによる温度測定データを可視化する例です。
サンプルコード
import streamlit as st
import pandas as pd
from streamlit.column_config import LineChartColumn
# センサーの測定データ
sensor_data = {
"Sensor": ["Sensor 1", "Sensor 2", "Sensor 3"],
"Temperature Trends": [
[22, 23, 24, 25, 26],
[20, 21, 21.5, 22, 22.5],
[19, 20, 20.5, 21, 21.5]
]
}
df_sensor = pd.DataFrame(sensor_data)
# カスタム列設定
column_config_sensor = {
"Temperature Trends": LineChartColumn(
label="温度の推移",
help="センサーごとの温度変化をラインチャートで可視化します。",
y_min=18,
y_max=27
)
}
# データフレーム表示
st.dataframe(df_sensor, column_config=column_config_sensor)

コード解説
- センサーデータの作成
各センサーの温度変化をリスト形式で作成。 LineChartColumnの設定
label: 列名を「温度の推移」に設定。help: 温度変化を説明する補足を追加。y_min/y_max: 温度データに合わせたY軸のスケールを設定。
- DataFrameの表示
各センサーの温度変化を視覚的に確認可能なラインチャート形式で表示します。
注意点
- リスト形式のデータが必要
ラインチャートとして表示するデータは、各セルがリスト形式である必要があります。 - Y軸の調整
データの範囲に応じてy_minとy_maxを設定すると、グラフが見やすくなります。 - 視覚的な一貫性
異なる範囲のデータを扱う場合、適切なスケール調整が重要です。
まとめ
st.column_config.LineChartColumnを使用すると、データの傾向や変化を簡単に視覚化でき、データ分析の効率が向上します。
売上データの分析やセンサーの測定値モニタリングなど、さまざまな場面で活用できます。ぜひお試しください!
次回は、棒グラフを表示するst.column_config.BarChartColumnについて解説します。お楽しみに!
公式ドキュメントはこちら:st.column_config.LineChartColumn
最後まで読んでいただきありがとうございます。73



コメント