跳過到頁腳內容
PYTHON 幫助

Seaborn Python(開發人員指南工作原理)

統計數據可視化 Seaborn 是一個受歡迎的 Python 可視化庫。 它建立在 Matplotlib Python 模組之上,提供了用於繪製吸引人且信息豐富的統計圖形的高階介面。 Seaborn is particularly well-suited for visualizing complex datasets and making data analysis more intuitive. Later in this article, we will also look into IronPDF, a PDF generation and manipulation library from IronSoftware 的 PDF 生成和操作庫。

主要特點

  1. 高階介面Seaborn 提供了高階介面,簡化了創建複雜可視化的過程。 這意味著您可以用幾行代碼創建精緻的圖表。
  2. 與 Pandas 整合:Seaborn 與 Pandas 數據結構無縫協作,使可視化 DataFrames 中存儲的數據變得簡單。
  3. 美觀的預設樣式:Seaborn 附帶美觀的預設樣式和調色板,有助於使圖表更具吸引力且更易於解釋。
  4. 統計估計:Seaborn 包括用於估計和繪製統計關係的函數,例如回歸線和置信區間。

  5. 單變量和雙變量分佈: Seaborn 支持統計數據可視化,

    • Seaborn 中的單變量分佈

      1. 直方圖:可視化數據點在箱中的頻率。
      2. KDE 圖:顯示代表數據密度的平滑曲線。
      3. ECDF 圖:顯示數據點的累積比例。
      4. 箱形圖:用四分位數和異常值來說明數據分佈。
    • Seaborn 中的雙變量分佈

      1. 散點圖:顯示兩個變量之間的關係。
      2. 六邊形箱圖:使用六邊形箱來展示數據密度。
      3. 雙變量 KDE 圖:用於兩個變量的平滑密度圖。
      4. 組合圖:顯示數據集中成對的關係。

開始使用

要開始使用 Seaborn,您需要使用 pip 安裝它:

pip install seaborn
pip install seaborn
SHELL

安裝後,您可以導入 Seaborn 和 Matplotlib 並創建可視化。 這裡有一個簡單的例子:

import seaborn as sns
import matplotlib.pyplot as plt

# Load an example dataset
tips = sns.load_dataset("tips")

# Create a simple scatter plot
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time")
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt

# Load an example dataset
tips = sns.load_dataset("tips")

# Create a simple scatter plot
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time")
plt.show()
PYTHON

在這個例子中,我們加載“tips”數據集並創建一個散點圖來顯示總賬單和小費金額之間的關係,用不同的顏色表示一天中的不同時間。

輸出

Seaborn Python(開發人員指南中的運作方式):圖 1 - 上述代碼的範例圖輸出

常用圖表

  1. 關係圖:這些圖表顯示變量之間的關係。 示例包括散點圖和折線圖。

    sns.relplot(data=tips, x="total_bill", y="tip", hue="smoker", style="time")
    plt.show()
    sns.relplot(data=tips, x="total_bill", y="tip", hue="smoker", style="time")
    plt.show()
    PYTHON

    Seaborn Python(開發人員指南中的運作方式):圖 2 - 關係圖示例

  2. 分類圖:這些圖表可視化分類數據。 示例包括條形圖、箱形圖和小提琴圖。

    sns.boxplot(data=tips, x="day", y="total_bill", hue="smoker")
    plt.show()
    sns.boxplot(data=tips, x="day", y="total_bill", hue="smoker")
    plt.show()
    PYTHON

    Seaborn Python(開發人員指南中的運作方式):圖 3 - 分類圖示例

  3. 分佈圖:示例包括直方圖和核密度估計。

    sns.histplot(data=tips, x="total_bill", kde=True)
    plt.show()
    sns.histplot(data=tips, x="total_bill", kde=True)
    plt.show()
    PYTHON

    Seaborn Python(開發人員指南中的運作方式):圖 4 - 分佈圖示例

  4. 矩陣圖:這些圖表以矩陣形式可視化數據。 示例包括熱圖和集群圖。

    glue = sns.load_dataset("glue").pivot(index="Model", columns="Task", values="Score")
    sns.heatmap(glue)
    plt.show()
    glue = sns.load_dataset("glue").pivot(index="Model", columns="Task", values="Score")
    sns.heatmap(glue)
    plt.show()
    PYTHON

    Seaborn Python(開發人員指南中的運作方式):圖 5 - 矩陣圖示例

Seaborn 圖表還可用於分佈圖、線圖、箱形圖和條形圖,並且用真實數據或統計數據來繪製代碼非常容易。

自定義

Seaborn 允許對圖表進行廣泛的自定義。 您可以更改圖的樣式、配色方案和其他方面以滿足您的需求。 例如,您可以使用以下方式設置主題:

sns.set_theme(style="whitegrid")
sns.set_theme(style="whitegrid")
PYTHON

介紹 IronPDF

Seaborn Python(開發人員指南中的運作方式):圖 6 - IronPDF:Python PDF 庫

IronPDF 是一個強大的 Python 庫,設計用於使用 HTML、CSS、圖像和 JavaScript 創建、編輯和簽署 PDF。 它在使用最低內存的同時提供高品質性能。 關鍵特性包括:

  • HTML 到 PDF 轉換:

    將 HTML 文件、HTML 字串和 URL 轉換為 PDF。 例如,使用 Chrome PDF 渲染器將網頁渲染為 PDF。

  • 跨平台支持:

    IronPDF 專為 Python 3+ 設計,還可以在 Windows、Mac、Linux 或雲平台上運行。
    IronPDF is also available in .NET, Java, Python, and Node.js.

  • 編輯和簽名:

    設置屬性,應用密碼和權限,並為 PDF 添加數字簽名。

  • 頁面模板和設置:

    您可以使用頁眉、頁腳、頁碼和可調邊距來自定義 PDF。 它還支持自定義紙張尺寸和響應式佈局。

  • 標準合規:

    遵循 PDF 標準,包括 PDF/A 和 PDF/UA,支持 UTF-8 字元編碼,並管理圖像、CSS 和字體等資產。

安裝

pip install ironpdf
pip install ironpdf
SHELL

使用 IronPDF 和 Seaborn 生成 PDF 文檔

先決條件

  1. 確保安裝了 Visual Studio Code 作為代碼編輯器。
  2. 安裝了 Python 版本 3。

首先,讓我們創建一個 Python 文件來添加我們的腳本。

打開 Visual Studio Code 並創建一個文件,seabornDemo.py

安裝必要的庫:

pip install seaborn
pip install ironpdf
pip install seaborn
pip install ironpdf
SHELL

然後添加以下代碼來演示 IronPDF 和 Seaborn Python 包的用法:

import seaborn as sns
import matplotlib.pyplot as plt
from ironpdf import * 

# Apply your license key
License.LicenseKey = "your key here"

# Load an example dataset
tips = sns.load_dataset("tips")
print(tips)

# Create a simple scatter plot
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time")

# Save the plot as a PNG file
plt.savefig("scatterplot.png")

# Convert the image to PDF using IronPDF
ImageToPdfConverter.ImageToPdf("scatterplot.png").SaveAs("scatterplot.pdf")

# Display the plot
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
from ironpdf import * 

# Apply your license key
License.LicenseKey = "your key here"

# Load an example dataset
tips = sns.load_dataset("tips")
print(tips)

# Create a simple scatter plot
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time")

# Save the plot as a PNG file
plt.savefig("scatterplot.png")

# Convert the image to PDF using IronPDF
ImageToPdfConverter.ImageToPdf("scatterplot.png").SaveAs("scatterplot.pdf")

# Display the plot
plt.show()
PYTHON

代碼說明

在這個例子中,我們使用“tips”數據集來繪製散點圖,將其保存為圖像,並使用 IronPDF 將其轉換為 PDF。

  1. 導入庫:導入數據可視化和 PDF 生成所需的庫。
  2. 授權序號:添加授權序號對於 IronPDF 庫的運行是必要的。
  3. 加載數據集:加載示例數據集“tips”。
  4. 打印數據框:打印數據框以便在輸出中查看。
  5. 創建圖表:使用 Seaborn 的 scatterplot 方法來可視化數據。
  6. 保存圖表:使用 Matplotlib 的 savefig 方法保存您的圖表。
  7. 轉換為 PDF:使用 IronPDF 的 ImageToPdfSaveAs 方法將圖像轉換為 PDF。
  8. 顯示圖表:使用 plt.show() 顯示散點圖。

輸出

Seaborn Python(開發人員指南中的運作方式):圖 7 - 從上述代碼示例中散佈的圖像窗口

PDF

Seaborn Python(開發人員指南中的運作方式):圖 8 - 利用 IronPDF 顯示散點圖的 PDF 輸出

IronPDF 許可證

IronPDF for Python 授權序號允許用戶在購買前測試其全面的功能。 試用授權期過後,開發人員可以購買適合其專案需求的永久授權。

在使用 IronPDF 包之前,將許可證密鑰放置在腳本的開頭:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
PYTHON

結論

Seaborn 因其在數據可視化方面的能力而被廣泛認可。 其高階介面、與 Pandas 的整合以及美觀的預設樣式使其成為創建信息豐富且吸引人的統計圖形的絕佳選擇。 無論您是初學者還是經驗豐富的數據科學家,Seaborn 都可以幫助您更有效地探索和理解數據。 On the other hand, IronPDF is a popular library for PDF generation and manipulation in .NET environments, known for its robust feature set and ease of use, helps to document and archive the results from Seaborn in a standard way to save them as PDFs. 這兩個庫為開發人員增加了出色的技能來開發和存檔現代數據可視化結果。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。