[英]Python seaborn lineplot missing values on the plot
我正在尝试使用 seaborn 创建线图,对于我所拥有的点的特定情况,plot 在绘制的线上缺少一些点,导致 plot 不正确。代码片段如下所示
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()
得到的plot如下图
知道为什么会这样吗? 我尝试使用 seaborn 版本 0.11.2 和 0.12.2
使用lineplot
时,文档说:
默认情况下,plot 在每个 x 值处聚合多个 y 值,并显示集中趋势的估计值和该估计值的置信区间。
因此,您需要拥有:
ax = sns.lineplot(x=x, y=y, estimator=None)
停止聚合发生。
你必须使用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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.