跳至页脚内容
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. Hexbin图:使用六边形区域显示数据密度。
      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 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。