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)
以下是简单的数据集=
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)