如何将默认的 matplotlib 绘图更改为 seaborn 绘图?


将默认的matplotlib绘图设置更改为Seaborn涉及修改默认绘图参数以匹配Seaborn提供的样式和美学。这可以通过调整各种元素来实现,例如颜色调色板、网格线、字体样式和绘图主题。以下是如何详细更改默认matplotlib绘图到Seaborn绘图的分步指南。

导入必要的库

首先,导入所需的库,例如用于创建绘图的'matplotlib.pyplot'和用于应用Seaborn样式和美学的'seaborn'。以下是导入库的代码。

import matplotlib.pyplot as plt import seaborn as sns

应用Seaborn样式

要将默认绘图设置更改为Seaborn,请使用'set()'函数应用Seaborn样式。这将修改'matplotlib'的默认参数以匹配Seaborn样式。

sns.set()

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

自定义颜色调色板

Seaborn提供了多种颜色调色板,可用于自定义绘图的颜色方案。我们可以从各种内置调色板中选择,或者创建自己的调色板,并且要设置特定的颜色调色板,我们必须使用'set_palette()'函数。

sns.set_palette("color_palette_name")

将'"color_palette_name"'替换为所需的调色板名称,例如'"deep"'、'"pastel"'、'"dark"'或任何其他可用的调色板。

自定义网格线和轴

Seaborn提供了自定义网格线和轴的选项。要删除网格线,请使用'despine()'函数。默认情况下,它会删除顶部和右侧的脊柱。要删除所有脊柱,请使用以下代码

sns.despine()

要自定义轴,我们可以修改诸如标签、刻度标记及其外观之类的属性。例如,要为x轴和y轴设置自定义标签,请分别使用'xlabel()'和'ylabel()'函数。

plt.xlabel("X-axis label") plt.ylabel("Y-axis label")

我们可以进一步使用'xticks()'和'yticks()'函数自定义刻度标记及其外观。

plt.xticks([0, 1, 2, 3, 4]) plt.yticks([0, 1, 2, 3, 4])

自定义字体和文本

Seaborn允许我们自定义绘图的字体和文本属性。要更改绘图标题、标签和注释的字体样式和大小,请使用'title()'、'xlabel()'、'ylabel()'和'text()'函数。

plt.title("Plot Title", fontweight="bold", fontsize=12) plt.xlabel("X-axis Label", fontsize=10) plt.ylabel("Y-axis Label", fontsize=10) plt.text(x, y, "Annotation Text", fontsize=8)

'fontweight'、'fontsize'和'fontsize'参数中的值替换为我们所需的值。

自定义绘图主题

Seaborn提供了不同的绘图主题,可以应用于更改绘图的整体外观。您可以从'"darkgrid"'、'"whitegrid"'、'"dark"'、'"white"'或'"ticks"'等选项中选择。要应用主题,请使用'set_style()'函数。

sns.set_style("theme_name")

将'"theme_name"'替换为所需的主题名称。

创建并显示绘图

在将绘图设置自定义为Seaborn样式后,使用'matplotlib'函数(例如'plot()'、'scatter()'或'bar()')创建我们的绘图。一旦我们的绘图准备就绪,请使用'plt.show()'显示绘图。

plt.plot(x, y) plt.show()

通过结合上面提到的所有步骤,我们可以将默认的matplotlib绘图更改为Seaborn绘图,应用Seaborn的样式、颜色调色板、网格线、字体样式和绘图主题。

示例

import matplotlib.pyplot as plt import seaborn as sns x = [0, 1, 2, 3, 4] y = [0, 1, 2, 3, 4] sns.set() sns.set_palette("deep") sns.despine() plt.xticks([0, 1, 2, 3, 4]) plt.yticks([0, 1, 2, 3, 4]) plt.title("Plot Title", fontweight="bold", fontsize=12) plt.xlabel("X-axis Label", fontsize=10) plt.ylabel("Y-axis Label", fontsize=10) sns.set_style("darkgrid") plt.plot(x, y) plt.show()

输出

更新于: 2023年8月2日

975 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告