Matplotlib 简明教程

Matplotlib VS Seaborn

Matplotlib 和 Seaborn 都是用于数据可视化的强大的 Python 库,但是它们有自己不同的优势,适用于不同的目的。

What is Matplotlib?

Matplotlib 是一个全面且广泛用于创建静态、交互和出版质量可视化的 Python 库。它提供了一种多功能的工具包,用于生成各种类型的图表和柱状图,使其成为数据科学家、研究人员、工程师和分析师必不可少的工具。以下是 matplotlib 库的功能。

Core Library

Matplotlib 是 Python 中用于绘图的基础库。它允许用户通过允许用户创建从基本到高度定制的各种图表,对可视化进行低级控制。

Customization

它提供了广泛的自定义选项,允许用户控制图表的每个方面。这种级别的控制有时会导致更多用于创建复杂图表的代码。

Basic Plotting

虽然对于创建某些复杂图表非常灵活,但与 Seaborn 等专门库相比,可能需要更多的精力和代码。

Simple plot by matplotlib

下面是使用 matplotlib 库 pyplot 模块创建的简单折线图。

Example

import matplotlib.pyplot as plt
# Creating a plot
plt.plot([1, 2, 3, 4], [10, 20, 25, 30])

# Customizing axis limits and labels
plt.xlim(0, 5)
plt.ylim(0, 35)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
simpleplot matplotlib

What is Seaborn?

Seaborn 是一个 Python 数据可视化库,它作为 Matplotlib 的一个抽象层运行。它被设计用来创建视觉上吸引人和内容丰富的统计图形,简化了从数据生成复杂可视化的过程。以下是 seaborn 库的关键特性。

Statistical Data Visualization

Seaborn 构建在 Matplotlib 的基础上,特别适合统计数据可视化。它通过提供高级抽象来简化创建复杂图表的流程。

Default Aesthetics

Seaborn 带有吸引人的默认样式和颜色面板,使图表在几乎不费力的情况下,在美学上赏心悦目。

Specialized Plots

它专门用于某些类型的图表,例如小提琴图、箱线图、配对图等,这些图表在 Seaborn 中比在 Matplotlib 中更容易创建。

Basic seaborn plot

以下是基本的 seaborn 折线图。

Example

import seaborn as sns
import matplotlib.pyplot as plt
# Sample data
x_values = [1, 2, 3, 4, 5]
y_values = [2, 4, 6, 8, 10]

# Creating a line plot using Seaborn
sns.lineplot(x=x_values, y=y_values)
plt.show()
seaborn

Matplotlib

Seaborn

Level of Abstraction

Matplotlib 级别较低,需要更多用于自定义的代码。

Seaborn 通过启用更简单的复杂统计图表的创建来消除一些复杂性。

Default Styles

与 seaborn 相比,Matplotlib 没有更好的默认样式和颜色面板。

Seaborn 具有更好的默认样式和颜色面板,使其图表在没有太多定制的情况下在视觉上赏心悦目。

Specialized Plots

Matplotlib 需要更多的精力来绘制某些现成的图表。

Seaborn 提供了某些类型的图表,这些图表在 Matplotlib 中是不可用的或需要更多的精力。

何时使用每个库

当我们需要对图表的出现进行细粒度控制时或者在创建其他库中可能没有的非标准图表时,我们可以使用该库。

当处理统计数据时,我们可以使用该库,特别是在对数据中的分布、关系和类别进行快速探索和可视化时。Seaborn 的高级抽象和默认样式使其适用于此目的。

这两个库各自都有价值,有时可以将它们一起使用,以便结合两者的优势,用于高级可视化任务。