matplotlib Python海运线图图上缺少值

fkaflof6  于 2023-01-21  发布在  Python
关注(0)|答案(2)|浏览(127)

我尝试使用seaborn创建一个线图,但对于我所拥有的点的特定情况,图中缺少了绘制线上的一些点,导致图不正确。代码片段如下所示

import matplotlib.pyplot as plt
import seaborn as sns

x = [0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.6, 0.8, 1.0]
y = [0.0, 0.21, 0.41, 0.81, 1.0, 1.0, 1.0, 1.0, 1.0]

ax = sns.lineplot(x = x, y = y)
sns.scatterplot(x = x, y = y, ax = ax)
plt.show()

生成的图如下所示

知道为什么会发生这种情况吗?我尝试使用海运版本0.11.2和0.12.2

hxzsmxv2

hxzsmxv21#

使用lineplot时,documentation says
默认情况下,该图在每个x值处聚合多个y值,并显示集中趋势的估计值和该估计值的置信区间。
因此,您需要:

ax = sns.lineplot(x=x, y=y, estimator=None)

来阻止聚集的发生。

46qrfjad

46qrfjad2#

是否必须使用seaborn?如果不是,请直接使用matplotlib:

import matplotlib.pyplot as plt

x = [0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.6, 0.8, 1.0]
y = [0.0, 0.21, 0.41, 0.81, 1.0, 1.0, 1.0, 1.0, 1.0]

plt.plot(x,y, marker='o')
plt.show()

相关问题