2026年資料視覺化交付決策矩陣:Matplotlib 與 Plotly 匯出 PNG 的 DPI、sRGB 與遠端 M4 批量驗收清單

投研材料、資料週報與成長看板往往既要互動,也要可嵌入的靜態 PNG。真正卡交付的不是「能不能匯出」,而是像素合約、透明通道與色彩意圖由誰背書。本文給出 2026 年可用的選型對照表可複製參數dpifigsizetransparentMPLBACKENDwrite_image/Kaleido,以及合成鏈路裡的 Image.save(..., format="PNG")),並銜接 sRGB 交付心態遠端 Mac mini M4上的目錄、manifest 與驗收門檻,可直接貼入 shell 或 CI。

① Matplotlib 與 Plotly:交付選型矩陣

治理模型選堆疊:Matplotlib 適合「樣式與版式全部在 Python 裡可 code review」的團隊;Plotly 適合「Figure 與線上 Dashboard 同源、希望 PNG 與 JSON 狀態一致」的情境。下表服務交付負責人;設計側 PNG 參數可對照 三款設計工具批量匯出 PNG 工作流,讓圖表與 UI 切圖口徑一致。

維度 Matplotlib Plotly
無頭/伺服器批跑 — 設 MPLBACKEND=Agg,或在 import pyplotmatplotlib.use("Agg") — 安裝 kaleidofig.write_image("out.png")
像素尺寸模型 figsize(英寸)× savefig(dpi=...) 推算像素;bbox_inches="tight" 會改裁切,簡報安全區要謹慎 顯式 widthheight(像素)+可選 scale(Retina 倍率)
透明底 transparent=True,配合 facecoloredgecolor;深色底上檢查抗鋸齒發灰 paper_bgcolorplot_bgcolor 設為透明 rgba;在 #000/#FFF 襯底複測 Kaleido 輸出
靜態 vs 同源互動 偏靜態、印刷感規格友善 同一 Figure 可服務 Dash 與 PNG;程序化截圖時注意相機與可見 trace
典型風險 字型發現路徑、字重回退、tight 裁掉軸標籤 Kaleido 與 plotly 小版本升級導致柵格邊界變化;超大 WebGL trace 匯出體積暴漲

② 可執行匯出參數(複製即用)

以下假設 worker 為 macOS 或 Linux;在遠端 Mac M4 請用與 CI 相同使用者跑首次匯出,以利字型快取穩定。

Matplotlib:後端、dpi、透明

經驗法則:未做激進 tight 裁切時,寬度像素約等於 figsize[0] * dpi;落盤後務必以 sips -g pixelWidth 或 Pillow 再量一次。
# Shell:批任務強制非互動後端
export MPLBACKEND=Agg

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

fig, ax = plt.subplots(figsize=(10, 5.625), layout="constrained")  # 約 16:9 英寸畫布
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;需進印刷 PDF 再縮放的內文,可用 300+。
  • figsize把英寸當作合約,與品牌規定的唯一 dpi 檔位成對出現。
  • transparent + facecolor="none"避免圖例背後意外墊白。
  • 可選後端:對亞像素文字極敏感時可評估 mplcairo,仍須在目標閱讀器上抽檢。

Plotly:Kaleido 與 write_image(PNG)

Figure 物件使用 write_image 輸出柵格;副檔名 .png 時可省略 format。團隊若封裝了名為 write_png 的 CLI,請保證內部仍呼叫同一套 write_image(..., format="png", engine="kaleido") 並鎖版本,避免與「另一個匯出實作」分叉。

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直接對齊簡報母版(1920×1080、3840×2160 等)。
  • scaleWeb 真 1× 用 1;下游依 Retina 雙倍柵格收圖時用 2
  • engine="kaleido"requirements.lock 同時釘死 kaleidoplotly

合成落盤:Pillow 的 PNG 寫入

Matplotlib 出圖後與 Logo 合成時,最終可用 img.save("out.png", format="PNG", compress_level=6);模式為 RGBA 時務必先完成直通道 alpha行為驗證,再統一進 manifest。

③ sRGB、ICC 與 PNG 實際攜帶內容

Matplotlib/Plotly 不會自動替你簽下「設計系統 ICC 合約」,Web 與簡報交付建議仍以 sRGB 為口頭與文件中的預設空間,再以與設計匯出相同的辦法證明:襯底樣張、設定說明與清單。深入步驟見 Mac PNG sRGB 與 Display P3 清單ICC 中繼資料與無損再壓;下圖表是資料圖專用最小集。透明邊緣尚可交叉 透明通道 FAQ 清單

檢查項 動作 通過標準
色彩意圖成文 README 寫明「交付 sRGB」或「僅內部 P3」 工單描述與儲庫聲明一致
中性底對比 Safari + Chrome 中置於 #FFFFFF 與 #0B0B0B 格線與文字相對品牌 hex 在約定容差內
透明圖 圖例角 400% 放大 無灰邊;與向量參考在允許範圍內一致
可選 ICC 若市場強制嵌入,像素 QA 後再跑 exiftool/sips 策略 設定描述與團隊規範一致且不改變像素值策略

④ 遠端 M4:批處理路徑與驗收清單

把長耗時、大批量出圖放到獨立 Apple Silicon 節點,可避免筆電闔蓋、VPN 抖動與本機字型漂移毀掉夜間任務。目錄習慣可與設計 PNG 對齊:

  • ~/png_jobs/viz_export/inbox/ — 渲染行程寫入原始 PNG。
  • ~/png_jobs/viz_export/work/ — 可選浮水印、拼接、Pillow 後處理。
  • ~/png_jobs/viz_export/out/YYYY-MM-DD/ — 晉升資產+ manifest。
  • ~/png_jobs/viz_export/log/export.jsonl — 每檔一行 JSON:工具、版本、dpiscale、sha256。

超大畫布與 4K 行銷幀的吞吐思路可複用 遠端 M4 批量匯出 4K PNG 指南;自動化寬高、體積與重試可參考 OpenClaw PNG 批量質檢 的編排方式,先用純 shell 落地再漸進接入閘道亦可。

# 驗收門檻 工具提示
1 寬高與規格一致(±0 px) sips -g pixelWidth -g pixelHeight 或 Pillow Image.open(...).size
2 檔案體積在最小/最大閾值內(抓白屏與空匯) macOS stat -f%z;監聽指令稿裡比較閾值
3 無意外縮放(dpi/scale 漂移) manifest 中記錄值與 lockfile 版本交叉比對
4 內文與軸刻度清晰 預覽 100% + 目標簡報母版實貼
5 可複現建置 同 commit + 釘字型 → sha256 一致(在字型策略允許範圍內)

⑤ 小結

Matplotlib 的 Agg + savefig 與 Plotly 的 Kaleido + write_image 都能在凍結後端與依賴的前提下穩定交付 PNG;尺寸表達應二選一講清:英寸 × dpi像素 × scale,避免混用口語。配上 sRGB 心態下的襯底抽檢、透明 alpha 目檢,以及遠端 M4 上帶 manifest 的 out/ 樹,資料圖的交接可與行銷 PNG 管線同一套嚴肅度。

下一步:租用遠端 Mac M4 做批處理出圖

開啟 MacPng 首頁了解場景,再到 購買/租用價格與節點比對方案——無需登入即可瀏覽;接入步驟見 說明中心。節點就緒後,把上文目錄結構複製到使用者主目錄,夜間排程 Matplotlib/Plotly 任務,筆電可保持闔蓋。更多 PNG 與自動化實踐見 技術見解索引。

Apple Silicon 批處理節點

在遠端 Mac 上跑 Matplotlib/Plotly PNG

穩定宿主上釘死 KaleidoAgg,統一字型與版本,僅晉升帶 manifest 簽名的 PNG——適合夜間投研包、監管報表與高併發看板截圖。

首頁 立即租用 價格與節點 說明中心
遠端 Mac M4 · 資料圖 PNG Matplotlib/Plotly 批處理
立即租用