Streamlit パート マスタリング データの視覚化とチャート タイプ

Barbara Streisand
リリース: 2024-10-30 06:20:27
オリジナル
563 人が閲覧しました

Streamlit Part Mastering Data Visualization and Chart Types

今日のペースの速いデータ サイエンスの世界では、データを効果的に視覚化することが重要です。経験豊富なデータ アナリストであっても、データ アナリストを始めたばかりであっても、さまざまな視覚化テクニックを習得すると、洞察を伝え、意思決定を推進する能力が大幅に向上します。この包括的なガイドでは、インタラクティブな Web アプリケーションを作成するための人気のある Python ライブラリである Streamlit について説明し、データを視覚化するために簡単に作成できる 12 の強力なグラフ タイプ を紹介します。このチュートリアルでは、単純な棒グラフから高度な地理空間視覚化まで、すべてをカバーします。


Streamlit とその視覚化機能の概要

Streamlit は、データ サイエンティストや開発者がデータ視覚化のためのインタラクティブな Web アプリケーションを作成する方法に革命をもたらしました。 Streamlit を使用すると、直感的な API と一般的な Python ライブラリとのシームレスな統合により、データ スクリプトを数分で共有可能な Web アプリに変換できます。このガイドでは、さまざまなデータ視覚化のニーズに合わせて調整されたさまざまな種類のグラフを作成する Streamlit の多用途性に焦点を当てます。


1. 面グラフ

面グラフの概要

面グラフは、時間の経過やカテゴリ全体の累積合計を表示するのに最適です。これらは、変化の大きさと異なるデータセット間の関係を強調するため、傾向の追跡や複数のデータシリーズの比較に最適です。

面グラフの作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • 売上の伸び: 四半期ごとに売上がどのように増加するかを視覚化します。
  • Web サイトのトラフィック: 訪問者数を経時的に追跡します。
  • 累積指標: 総収益や総支出などの累積指標を表示します。

カスタマイズのヒント

  • 色の調整: ブランドや好みに合わせて色のパラメーターを変更します。
  • タイトルとラベルの追加: タイトルと軸ラベルを追加して、明確さを高めます。
  • 軸の変更: データ表現を改善するために、軸のスケールまたは範囲を調整します。

2. 棒グラフ

棒グラフの概要

棒グラフは、さまざまなカテゴリやグループを比較するための基本的な方法です。これらは離散データ ポイントを表示するのに非常に効果的であり、さまざまなカテゴリにわたる量を簡単に比較できます。

棒グラフの作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • 地域別の売上高: さまざまな地域の売上高を比較します。
  • 製品の人気度: さまざまな製品の人気度を表示します。
  • アンケート結果: アンケートの質問に対する回答を視覚化します。

カスタマイズオプション

  • バーの色: この例ではデフォルト設定を使用していますが、追加のパラメーターを使用するか、データを前処理することによって、バーの色をカスタマイズできます。
  • 方向: 読みやすくするために、バーの方向 (水平または垂直) を変更します。
  • ラベルと凡例: ラベルと凡例を追加して、データにさらに多くのコンテキストを提供します。

3. 折れ線グラフ

折れ線グラフの概要

折れ線グラフは、時系列などの連続データの傾向を示すのに最適です。これらは、変化の追跡、パターンの特定、同じ間隔での複数のデータ系列の比較に役立ちます。

折れ線グラフの作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • 株価: 長期にわたる株価の動きを追跡します。
  • 温度変化: 日ごとの温度変動を監視します。
  • Web サイトの訪問数: 数週間または数か月にわたる Web サイトのトラフィック傾向を分析します。

カスタマイズのヒント

  • 複数の線: y パラメーターに追加の列を指定して、複数の線をプロットします。
  • 線のスタイル: データ系列を区別するには、線のスタイル (実線、破線) を調整します。
  • インタラクティブ性: ツールヒントやホバー効果を追加して正確な値を表示することで、インタラクティブ性を強化します。

4. 地図

Streamlit のマップの概要

地理データの視覚化は空間分析にとって重要であり、地図上のデータ ポイントを視覚化して、さまざまな場所にわたるパターン、ホットスポット、分布を特定できます。

マップの作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • 店舗の場所: 複数の店舗またはオフィスの場所を表示します。
  • イベント ホットスポット: イベントやアクティビティが集中しているエリアを視覚化します。
  • 人口統計分布: 地域全体にわたるさまざまな人口統計グループの分布を表示します。

カスタマイズのヒント

  • 地図の中心とズーム: 地図の中心とズーム レベルを調整して、特定のエリアに焦点を当てます。
  • マーカーの美しさ: マーカーの形状、サイズ、色をカスタマイズして、さまざまなデータの次元を表現します。
  • 対話性: ツールチップまたはポップアップを追加して、各データ ポイントに関する詳細情報を提供します。

5. 散布図

散布図の概要

散布図は、2 つの変数間の関係や相関関係を特定するための強力なツールです。これらは、データ内のパターン、傾向、および潜在的な因果関係を明らかにするのに役立ちます。

散布図の作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • 広告対売上: 広告支出と売上高の関係を調べます。
  • 身長と体重: 個人の身長と体重の相関関係を分析します。
  • パフォーマンス指標: 製品またはサービスのさまざまなパフォーマンス指標を比較します。

カスタマイズのヒント

  • 傾向線: 傾向線を追加して、データ内の相関関係や傾向を強調表示します。
  • ポイントのサイズと色: 追加の変数に基づいてサイズと色を調整することで、データ ポイントを区別します。
  • インタラクティブ性: ポイントの上にマウスを置いたときに詳細情報を表示するツールヒントを有効にして、インタラクティブ性を強化します。

6. アルタイルチャート

アルタイルの紹介

Altair は、Python 用の宣言型統計視覚化ライブラリであり、シンプルで直感的な構文で高度なグラフ作成機能を提供します。最小限のコードでインタラクティブで複雑なビジュアライゼーションを作成することに優れています。

Altair チャートの作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • 探索的データ分析: 複数の変数間の関係を調査します。
  • インタラクティブ ダッシュボード: ユーザー入力に応答する動的なビジュアライゼーションを作成します。
  • 詳細な統計的視覚化: 複雑なデータをわかりやすい形式で表示します。

カスタマイズのヒント

  • ファセット: データの異なるサブセットを比較するために小さな倍数を作成します。
  • マーク タイプ: さまざまな視覚効果を得るために、線、バー、領域などのさまざまなマーク タイプを試してください。
  • インタラクティブな要素: 選択、フィルター、ズームを組み込んで、ユーザーのインタラクティブ性を強化します。

8. Graphviz チャート

Graphviz の概要

Graphviz は、グラフとネットワーク図を作成するためのツールであり、関係、ワークフロー、組織構造を視覚化するのに非常に役立ちます。これにより、複雑な接続を明確かつ組織的に表現できます。

Graphviz チャートの作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • ソフトウェア開発パイプライン: 計画から展開までのソフトウェア開発の段階を視覚化します。
  • 組織構造: 組織内の階層と関係を表します。
  • 意思決定ツリー: 意思決定の流れと考えられる結果を示します。

カスタマイズのヒント

  • ノードの形状と色: ノードの形状と色をカスタマイズして、さまざまなタイプのエンティティまたはステータスを表します。
  • エッジ スタイル: エッジ スタイル (破線、太字) を変更して、さまざまなタイプの関係または依存関係を示します。
  • グラフ レイアウト: よりわかりやすくするために、さまざまなグラフ レイアウト (階層型、円形など) を検討します。

9. プロットグラフ

Plotly の概要

Plotly は、インタラクティブで出版品質のグラフを作成するための強力なライブラリです。幅広いグラフの種類とカスタマイズ オプションを提供し、複雑なデータの視覚化やインタラクティブなダッシュボードに適しています。

分布図の作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

Plotly Express で散布図を作成する

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • 分布分析: 異なるデータセットの分布を並べて比較します。
  • インタラクティブ ダッシュボード: ユーザー入力に応答する動的でインタラクティブなビジュアライゼーションを作成します。
  • 比較分析: 複数のテーマとスタイルを使用して、データのさまざまな側面を強調します。

カスタマイズのヒント

  • テーマの調整: アプリケーションのデザインに合わせてさまざまなテーマを検討します。
  • レイアウト構成: 余白、凡例、軸のタイトルなどのレイアウト設定を調整して、より良いプレゼンテーションを実現します。
  • 高度なグラフ タイプ: 3D プロット、ヒートマップ、その他の高度なグラフ タイプを試して、より複雑な視覚化を実現します。

10. パイデッキチャート

pydeck の紹介

pydeck は、deck.gl の Python インターフェイスであり、WebGL を利用した高度で高性能な視覚化を可能にします。これは、複雑でインタラクティブな地理空間視覚化を作成する場合に特に役立ちます。

pydeck チャートの作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 3. Line Chart")

# Generate random data for the line chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create a line chart with the random data
st.line_chart(
    chart_data,
    x="col1",
    y="col2",
    color="col3",
)

st.write("#### 3.1 Basic Line Chart")

ログイン後にコピー

使用例

  • 地理空間分析: 大規模な地理空間データセットを視覚化して、パターンとホットスポットを特定します。
  • 都市計画: 人口密度、交通の流れ、インフラストラクチャの分布を分析します。
  • 環境研究: 汚染レベルや野生動物の目撃情報などの環境データを地図に作成します。

カスタマイズのヒント

  • さまざまなレイヤー タイプ: ScatterplotLayer、ArcLayer、PathLayer などのさまざまなレイヤー タイプを試して、多様な視覚効果を実現します。
  • マップ スタイル: 別のマップ テーマ (衛星、ダーク モードなど) を使用するには、map_style パラメーターを変更します。
  • 対話性: ツールチップ、フィルター、動的データ更新を有効にして対話性を強化します。

11.pyplotチャート

Matplotlib の pyplot の概要

Matplotlib は Python の基本的なプロット ライブラリであり、pyplot は静的、アニメーション化された、対話型の視覚化を作成するための MATLAB のようなインターフェイスを提供します。高度にカスタマイズ可能で、統計データ分析や教育目的に広く使用されています。

ヒストグラムの作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • 統計分析: データセットの分布を視覚化し、パターンと異常を特定します。
  • 教育目的: 確率分布やデータ正規化などの概念を教えます。
  • データ探索: さらなる分析を実行する前に、データの形状と広がりを評価します。

カスタマイズオプション

  • タイトルとラベル: タイトル、軸ラベル、凡例を追加してコンテキストを提供します。
  • 色とスタイル: バーの色、エッジのスタイル、プロット全体の美しさをカスタマイズします。
  • 複数のヒストグラム: 複数のヒストグラムを重ねて、異なるデータセットまたはグループを比較します。
  • 高度な機能: 密度プロット、累積分布、または注釈を組み込んで、より深い洞察を実現します。

12.ベガチャート

Vega-Lite の概要

Vega-Lite は、インタラクティブなビジュアライゼーションを作成するための高レベルの文法であり、柔軟性を高めるために Streamlit に統合されています。これにより、簡潔な仕様で洗練された応答性の高いチャートを構築できるため、大規模なコーディングを行わずに複雑なビジュアライゼーションを簡単に作成できます。

Vega チャートの作成

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

使用例

  • 洗練されたインタラクティブな視覚化: ホバー、クリック、選択などのユーザー操作に応答する複雑なグラフを作成します。
  • データ探索: ユーザーがデータセットを動的に探索し、インタラクティブな要素を通じて洞察を明らかにできるようにします。
  • 複雑なチャートの埋め込み: Streamlit アプリ内に詳細でインタラクティブなチャートを統合して、包括的なデータ プレゼンテーションを実現します。

カスタマイズのヒント

  • レイヤーの追加: 線、棒、領域などの追加レイヤーを組み込んで、視覚化を強化します。
  • カスタムのスケールと軸: スケール、軸のタイトル、ラベルを調整して、読みやすさと表示を改善します。
  • インタラクティブな選択: インタラクティブな選択とフィルターを実装して、ユーザーが特定のデータ サブセットに集中できるようにします。
  • スタイルとテーマ: 色、フォント、全体的なテーマ設定をカスタマイズして、美しさを高めます。

グラフの種類の要約

このチュートリアルでは、Streamlit で使用できるさまざまなグラフの種類について説明しました。それぞれがさまざまなデータ視覚化のニーズに適しています。

  1. 面グラフ: 累計と傾向を表示するのに最適です。
  2. 棒グラフ: 個別のカテゴリまたはグループの比較に最適です。
  3. 折れ線グラフ: 時系列などの連続データの変化を追跡するのに最適です。
  4. 地図: 地理データの視覚化と空間分析に不可欠です。
  5. 散布図: 変数間の関係や相関関係を特定するのに役立ちます。
  6. Altair Chart: 宣言構文を使用した高度なインタラクティブな視覚化。
  7. Graphviz Chart: グラフ図を通じて関係とワークフローを視覚化します。
  8. Plotly Chart: 広範なカスタマイズを備えたインタラクティブで出版品質のグラフ。
  9. pydeck Chart: WebGL を使用した高性能地理空間視覚化。
  10. pyplot Chart: Matplotlib の多彩な機能を使用した基本的なプロット。
  11. Vega Chart: Vega-Lite 文法を使用した洗練されたインタラクティブな視覚化。

?コードを取得: GitHub - jamesbmour/blog_tutorials
?関連する Streamlit チュートリアル:JustCodeIt
?私の仕事をサポートしてください: コーヒーを買ってください

以上がStreamlit パート マスタリング データの視覚化とチャート タイプの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!