2026年データ可視化納品意思決定マトリクス:Matplotlib と Plotly の PNG 書き出し(DPI・sRGB・リモート M4 一括検収)

PNG チャートピクセル・アルファ・sRGBの固定が本題。Matplotlib/Plotly比較表dpi・figsize・transparent・MPLBACKEND・write_image例、sRGB 表リモート M4viz_export5 ゲートを整理。

目次

sRGB/P3ICCDPISVG

① 意思決定マトリクス

スタイルを Python で固定するなら Matplotlib。同一 Figure から Dash と PNG を揃えるなら Plotly。

観点 Matplotlib Plotly
バッチ MPLBACKEND=Agguse("Agg") を import 前に kaleidowrite_image(..., engine="kaleido")
寸法 インチ×dpi。tight は余白可変→テンプレ要確認 px の widthheightscale
透過 transparent=Truefacecolor="none"、暗板で抜取 背景 rgba(0,0,0,0)、#000/#FFF で確認
用途 静的・印刷寄り Dash 同居。スナップ時は状態注意
リスク フォント・tight 欠け 版ずれ・WebGL 肥大

② 実行パラメータ

リモート M4:CI と同一ユーザーでフォント固定。

Matplotlib

横幅(px) ≈ figsize[0]*dpi(tight で変動)→ sips か Pillow で実測。
export MPLBACKEND=Agg

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(10, 5.625), layout="constrained")
ax.plot([0, 1], [0, 1])

fig.savefig(
    "out/matplotlib_chart.png",
    dpi=300,
    transparent=True,
    facecolor="none",
    edgecolor="none",
    bbox_inches="tight",
    pad_inches=0.05,
)
  • dpi:資料 144〜300、印刷なら 300+。
  • figsize:README にインチ契約を 1 行。
  • transparentfacecolor="none":白マット防止。
  • 文字周りは mplcairo も比較検収可。

Plotly(write_image)

write_imageで PNG(write_png無し)

import plotly.graph_objects as go

fig = go.Figure(data=go.Scatter(x=[0, 1], y=[0, 1]))
fig.update_layout(
    template="plotly_white",
    paper_bgcolor="rgba(0,0,0,0)",
    plot_bgcolor="rgba(0,0,0,0)",
)

fig.write_image(
    "out/plotly_chart.png",
    format="png",
    width=1920,
    height=1080,
    scale=2,
    engine="kaleido",
)
  • widthheight:スライド px 契約。
  • scale:1x は 1、Retina なら 2
  • kaleidoplotly は lock で固定。

Pillow(任意)

合成後 save(..., format="PNG")。先に単体でアルファ検収。

③ sRGB 最小検収

ICC は自動では付きません。sRGB 納品を README で固定し下表で抜取。デザイン PNG 全般は Figma 系ワークフロー参照。

項目 手順 合格
意図 README に sRGB/P3 分離を明記 チケットと一致
背景 #FFF/#0B プレート ガンマ・トークン許容内
透過 凡例角 400% 灰縁なし
ICC 画素 QA 後に sips 画素不変

④ リモート M4:パスと検収

夜間バッチは専用ノードへ。フォルダ規約はデザイン PNG と揃える。

  • ~/png_jobs/viz_export/inbox/ 一次出力
  • .../work/ 合成任意
  • .../out/YYYY-MM-DD/ 合格+manifest
  • .../log/export.jsonl tool・版・dpi/scale・sha256

大判は 4K バッチ、自動検証は PNG QA

# ゲート ツール例
1 WxH ±0 px sips/Pillow
2 バイト min/max stat -f%z
3 dpi/scale ずれなし manifest と lock
4 文字抜取 100%+スライド実貼り
5 再現性 同一コミットで sha256(フォント固定)

⑤ まとめ

版固定+インチ×dpiまたはpx×scaleの単一契約。sRGB 表とviz_exportリモート M4へ。

データ可視化 PNG · バッチノード

リモート Mac M4 で夜間一括

ホーム購入・レンタル料金ガイドログイン不要。Kaleido/Agg を専用 Mac へ。技術インサイト

ホーム 技術インサイト 購入・レンタルを見る 料金・ノード
リモート Mac M4 · データ可視化 PNG Matplotlib/Plotly 一括
今すぐレンタル