如何调整 Seaborn 绘图中的刻度数?
简介
刻度是 Matplotlib 用来表示绘图两个轴上数据点位置的微小符号。它们可以定位到最适合数据范围的位置,并用于突出显示 x 轴和 y 轴上的某些位置。通常,刻度可以标记以指示它们所代表的精确值。在 Python 包 Seaborn 中,有两个函数,即 xticks() 和 yticks(),可用于调整给定图形的刻度。
语法
要调整 Seaborn 图中的刻度数,我们可以使用以下语法 -
# 设置 x 轴的刻度位置和标签 ax.set_xticks([tick1, tick2, ...]) ax.set_xticklabels([label1, label2, ...]) # 设置 y 轴的刻度位置和标签 ax.set_yticks([tick1, tick2, ...]) ax.set_yticklabels([label1, label2, ...])
这两种方法还有一个可选的次要参数来设置主刻度或次要刻度。这里,ax 是 Seaborn 绘图函数返回的轴对象,tick1、tick2、... 是所需的刻度位置,label1、label2、... 是相应的刻度标签。
算法
调整 Seaborn 绘图中刻度数的一般分步算法如下 -
选择您要使用的 Seaborn 绘图函数,例如 sns.scatterplot()。
创建一些数据或加载一些您自己的数据。
可以使用 sns.set() 和 sns.set style() 例程来更改 Seaborn 主题和样式。
要绘制数据,请使用所选的 Seaborn 绘图函数。
创建一个指向绘图轴的变量对象。
要设置 x 和/或 y 轴上的刻度数,请使用 set xticks() 和/或 set yticks() 方法。刻度位置列表是这些函数的参数。
要设置 x 和/或 y 轴上刻度的标签,请使用 set xticklabels() 和/或 set yticklabels() 方法。这些函数的一个参数是刻度标签列表。
使用 show() 方法在窗口上绘制它。
示例
按照下面的示例制作自己的 Seaborn 箱线图,在 x 轴上使用自定义刻度位置和标签。
import seaborn as sns import matplotlib.pyplot as plt import numpy as np # 生成一些随机数据 data = np.random.randn(20) # 设置 Seaborn 图 sns.set() sns.set_style("whitegrid") ax = sns.boxplot(x=data) # 设置刻度位置和标签,也可以在此处使用 np 数组 ax.set_xticks([0, 1]) ax.set_xticklabels(["A", "B"]) # 显示图表 plt.show()
使用 NumPy 中的 random.randn 函数,我们首先创建一些随机数据。然后使用 set 和 set style 函数设置 Seaborn 图的视觉样式。
通过对数据使用 boxplot 函数并将生成的轴对象保存在变量 axe 中,我们可以构建一个箱线图。然后使用轴对象 axe 的 set xticks 和 set xticklabels 方法设置 x 轴的刻度位置和标签。
在本例中,我们将刻度位置指定为"A"和"B",并将它们分别设置为位置 0 和 1。最后,我们使用 matplotlib 的 show 函数的 pyplot 模块来显示图表。请注意,如果您执行此代码,最终的图表可能看起来并不特别吸引人。
由于我们只是绘制了 20 个随机选择的数据点,x 轴上只有两个刻度,因此如果您执行此代码,生成的图表可能看起来并不那么吸引人。为了生成更具启发性的图表,您可以更改代码以利用您自己的数据并调整刻度位置和标签。
import seaborn as sns import matplotlib.pyplot as plt import numpy as np # 生成一些随机数据 data = np.random.randn(20) # 设置 Seaborn 线图 sns.set() sns.set_style("whitegrid") ax = sns.lineplot(x=[0, 1, 2], y=[1, 2, 3]) # 设置 ytick 位置和标签,这里也可以使用 np 数组 ax.set_yticks([0, 1, 2, 3, 4]) ax.set_yticklabels(["A", "B", "C", "D", "E"]) # 显示图 plt.show()
这里,我们生成一条线使用 Python 中的 Seaborn 库进行绘图。绘图中有 5 个 y 轴刻度,标签为"A"、"B"、"C"、"D"和"E"。
首先,将 Seaborn 库与 Matplotlib 库一起导入。然后,使用 np.random.randn() 方法生成随机数据的 NumPy 数组。
接下来,使用 Seaborn 设置带有 whitegrid 样式的绘图。使用 sns.lineplot() 方法生成线图,并指定 x 值和 y 值。
要调整 y 轴刻度,使用 ax.set_yticks() 方法调用 y 轴刻度位置的值列表。然后使用 y 轴刻度标签列表调用 ax.set_yticklabels() 方法。
最后,使用 plt.show() 方法显示绘图。
结论
在本文中,我们探索并了解到,调整 Seaborn 绘图中的刻度数可以使我们的可视化更具信息量且更易于阅读。使用 set_xticks() 和 set_yticks() 函数,我们可以轻松调整 x 轴和 y 轴上的刻度数及其标签。我们还可以使用其他 Seaborn 函数进一步自定义绘图中的刻度。我们还看到了两个实际示例,它们帮助我们调整图表中的 x 刻度和 y 刻度的数量。