Seaborn,仅在 y 轴上绘制 3 个刻度

Seaborn, only plot 3 ticks on the y axis

我一直在尝试使用 plt.MaxNLocator(3) 在 seaborn 绘图中在我的 y 轴上获得 3 个刻度,但由于某种原因它偶尔会给我 2 个刻度。

如果有人可以从下面的代码中重现问题,或者提出任何解决方法,请告诉我 -

import matplotlib.pyplot as plt 
import seaborn as sns

tips = sns.load_dataset("tips")
g = sns.boxplot(x="day", y="total_bill", data=tips)
g.yaxis.set_major_locator(plt.MaxNLocator(3))
plt.show()

我认为 y 轴上应该有 3 个刻度。 我只想将数字增加到 4 - 但这只是偶尔发生,具体取决于轴比例,因此对每个数字进行调整并不理想。

感谢您的帮助。

一种方法是将最小刻度数指定为 3。来自 MaxNLocator 文档:

min_n_ticks int, default: 2

g.yaxis.set_major_locator(plt.MaxNLocator(3, min_n_ticks=3))