Seaborn 正在绘制一条不同于 Matplotlib 的线

Seaborn is plotting a line different from Matplotlib

以下是简单的数据集=

x = [7.5, 7.5, 17.5]
y = [393.198, 351.352, 351.352]

我正在寻找的输出图是由 -

正确生成的
plt.plot(x,y) #right angle looking plot

但是,当我在 Seaborn 中执行此操作时,我得到了奇怪的情节 -

sns.lineplot(x=x,y=y)

我不明白为什么 Seaborn 会生成这个图,我该如何修改 Seaborn 代码以获得 Matplotlib 生成的图?

Seaborn 的 lineplot 用于推断 x/y 数据集之间的关系。因此,它正在计算一个估计量(默认情况下是平均值)以 聚合公共 x.

上的数据

这里,因为 x 是 7.5 的两倍,所以它将这两个点聚合成一个 y,即 393.198 和 351.352 的平均值。

您根本没有使用 seaborn 的功能来实现它的功能。如果你想要原始的 matplotlib 图,直接使用 matplotlib。

Seaborn 尝试对数据进行一些估计和排序,以便更好地可视化 x 和 y 之间的关系 (document)。

下面的代码生成与 matplotlib 相同的图表

sns.lineplot(x=x,y=y, estimator=None, sort=False)