1. 匯出 Plotly 的互動圖表
祝賀所有喜愛視覺化的朋友,你們已經來到我們數據視覺化最後一課啦!今天我們將結束這趟打造美麗又信息豐富的圖表之旅,並學習如何正確匯出它們以及整合到檔案中。之前如果你對如何同時用數據分析和圖表打動你的老闆有所疑惑,那麼今天是你幸運的一天!
Plotly 支援的匯出格式
Plotly 支援多種匯出格式:
- HTML — 建立能在瀏覽器打開的互動式圖表。
- PNG, JPG, PDF, SVG — 製作高品質的靜態圖像。
- JSON — 儲存圖表為 JSON 結構,便於系統之間傳輸數據。
匯出方法
接下來,我們看看 Plotly 的匯出功能。這個庫以其互動性和創造動態圖表的能力而聞名。但怎麼在不需要拎著你的筆電到處跑的情況下分享你創作的誤差棒呢?
Plotly 支援將圖表匯出為 HTML,也就是說你可以直接發送 HTML 檔案,讓同事或客戶在瀏覽器裡互動操作圖表。可以使用 plotly.io.write_html
方法實現,如下所示:
import plotly.express as px
import plotly.io as pio
# 建立一個簡單的互動式圖表
df = px.data.iris() # irises 資料集
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
# 匯出圖表到 HTML
pio.write_html(fig, file='grafik.html', auto_open=True)
參數 auto_open=True
會在儲存後立即用瀏覽器打開文件,這很方便,特別是當你已經迫不及待地想展示你的工作成果或確保文件是否正確保存時。
匯出其他格式
Plotly 還支援匯出為靜態影像格式,例如 PNG、JPEG 和 SVG。需要用到的方法是 plotly.io.write_image
,並且需要安裝額外的庫 kaleido
,它提供影像格式的渲染支援:
pip install -U kaleido
匯出圖表的例子:
# 將圖表匯出成 PNG
pio.write_image(fig, file='grafik.png')
# 匯出成 JPG 格式
pio.write_image(fig, file='grafik.jpg', width=800, height=400, scale=2)
2. 在報告中插入圖表
匯出的圖表可以成為分析報告的重要部分。例如,匯出的 HTML 圖表可以輕鬆插入到你在網路研討會裡展示的報告中,或者上傳到企業內部網站。
將圖表嵌入 Word 和 PDF 文件
若要將圖表整合到 Microsoft Word 或 PDF 文件中,只需保存圖表成 PNG 或 JPG 格式,然後將其插入作為圖片。你可以直接拖動文件到文件區,或者使用 Word 和 PDF 編輯器的內置插入功能。
fig.write_image("sales_chart.pdf")
PDF 格式特別適合列印和分享高品質的圖表。在用 Plotly 匯出 PDF 時,只需指定文件格式即可。
嵌入互動式圖表到網頁文件
由 Plotly 匯出的 HTML 格式互動圖表可內嵌於網頁上。這對於線上報告與網頁文件非常有用。要嵌入圖表,可以使用對 HTML 文件的超連結,或者直接將 HTML 程式碼插入到網頁中。
示例:如何使用 iframe 將互動圖表嵌入 HTML 頁面:
<iframe src="grafik.html" width="800" height="600"></iframe>
這樣,圖表就作為網頁的一部分供大家互動使用。
將圖表匯出為 JSON
JSON 格式非常適合於將圖表儲存為數據並進行傳遞,還可以在之後重新導入到 Plotly 中並呈現出來。
# 保存圖表為 JSON
fig.write_json("sales_chart.json")
為不同類型報告選擇合適的格式與參數
- 適合列印和出版的圖表: 使用高解析度的 PNG 或 PDF 格式(如
dpi=300
),確保圖片清晰。 - 適合網頁文件和簡報的圖表: PNG 和 SVG 格式非常適用。其中 SVG 是可縮放的,放大也不會影響品質。
- 適合互動報告的圖表: 以 HTML 格式保存 Plotly 的互動圖表,並嵌入到網頁或線上文件中。
3. 範例
最後,讓我們通過一個完整範例來鞏固學習成果。我們將建立一個互動圖表,匯出它,並嵌入到簡單的 HTML 文件中。
建立圖表:
import plotly.express as px
import plotly.io as pio
df = px.data.tips()
fig = px.bar(df, x='day', y='total_bill', color='sex', barmode='group')
pio.write_html(fig, file='tips_graph.html', auto_open=True)
建立嵌入圖表的 HTML 文件:
將以下代碼保存為 index.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>小費報告</title>
</head>
<body>
<h1>按星期幾的小費分析</h1>
<p>以下是根據每星期的日子和性別的互動圖表,反映總小費及分布。</p>
<iframe src="tips_graph.html" width="900" height="500" frameBorder="0"></iframe>
</body>
</html>
查看該文件:
在瀏覽器中打開 index.html
,欣賞成果!你剛剛創建了一份即可以發送給同事,也可以發表到網上的報告文件。
互動圖表不僅美觀,還方便進行深入的數據分析並展示結果。它們能讓你的報告更有層次感和功能性。
最後,涉及到 Plotly 和 Matplotlib 的學習,希望大家能記住,信息的展示也是一門藝術。用學到的技能讓你的數據更亮眼,並能傳遞最有價值的內容。祝你創造自己的視覺化傑作!
GO TO FULL VERSION