統計ロードマップ
2026-04-30·学習法·⏱ 約 4

Tableau vs Python ─ データ可視化どちらを選ぶか

BI ツール(Tableau)とプログラミング(Python の matplotlib / Plotly / Streamlit)の使い分け。AIエンジニア視点で両者の強みと弱みを比較。

データ分析の終着点は 可視化と意思決定。本記事では Tableau と Python の使い分けを AI エンジニア視点で整理します。

Tableau の強み

  • ノーコード: ドラッグ&ドロップで作成
  • 対話的ダッシュボード: ビジネス層が自分で操作
  • 美しいデフォルト: 配色 ・ アニメーションが洗練
  • 多様なデータソース連携: SQL ・ Excel ・ Salesforce など
  • Tableau Public: 無料で公開可能

Tableau の弱み

  • 有料: Creator 15/月
  • コード化困難: バージョン管理 / レビューが厳しい
  • 自動化に弱い: 定期レポート以上のことは難しい
  • ML 連携限定的: Tableau 内でモデル学習はできない

Python 可視化の強み

  • 無料 ・ OSS
  • コードでバージョン管理: Git でレビュー可能
  • ML パイプラインに統合: モデル評価グラフを CI で自動生成
  • カスタマイズ性無限: 論文品質まで作り込める
  • ライブラリ豊富: matplotlib / seaborn / Plotly / Bokeh / Altair

Python の主要ライブラリ

matplotlib(基本)

matplotlib + seaborn
import matplotlib.pyplot as plt
import seaborn as sns

sns.set_style('whitegrid')
fig, ax = plt.subplots(figsize=(8, 5))
sns.boxplot(data=df, x='category', y='price', ax=ax)
ax.set_title('カテゴリ別価格分布')
plt.savefig('boxplot.png', dpi=150)

Plotly(対話型)

Tableau に最も近い
import plotly.express as px

fig = px.scatter(df, x='age', y='income', color='gender',
                 hover_data=['name'], trendline='ols')
fig.write_html('chart.html')  # 対話型 HTML 出力

Streamlit(Web アプリ)

詳しくは [Streamlit でデモアプリ](/blog/streamlit-demo-app) を参照。

現実的な使い分け

  • 社内ビジネスダッシュボード: Tableau / Looker(または Streamlit で代替も可)
  • 論文 ・ 分析レポート: Python(matplotlib / seaborn)
  • ML モデル評価: Python(scikit-learn の plot_*)
  • A/B テスト分析: Python + 統計検定
  • 経営層へのプレゼン: Tableau or Plotly
  • ポートフォリオ: Streamlit + Plotly

学習順の推奨

  1. matplotlib + seaborn(必須): どこでも使える共通言語
  2. Plotly(中級): 対話型を作りたくなったら
  3. Streamlit(実装): デモアプリ ・ ポートフォリオ
  4. Tableau(任意): 社内で必要になったら
  5. Looker / PowerBI: 業界によって

学習リソース

  • [Streamlit でデモアプリ](/blog/streamlit-demo-app)
  • [Pandas Tips](/blog/pandas-tips-for-ml)
  • [scikit-learn 入門](/blog/sklearn-introduction)
  • [キャリアの記事](/blog/data-scientist-career)
Related Articles

関連記事