首页 > 解决方案 > 二维线图中的垂直线伪影

问题描述

我正在尝试使用 seaborn 创建一个 2D 折线图,但我得到了几个在这里看到的人工制品,即突然向下或向上射出几乎不可见的垂直线的线: 无聊的线图

另一方面,Excel 从同一文件生成正确的可视化: 正确的线图

我的代码遵循 seaborn 示例(test.csv可以在此处找到示例):

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv('test.csv')
sns.set()
lp = sns.lineplot(x=data['x'], y=data['y'], sort=False, lw=1)
plt.show()

我做错了什么,还是 matplotlib 无法处理重叠值?

标签: pythonmatplotlibseabornline-plot

解决方案


默认情况下,Seaborn 会计算同一 x 水平上 y 变量的多个观测值的平均值。可以使用estimator=None参数禁用/控制此行为。

将其添加到原始代码和数据中时,我们可以观察到工件不再存在。

data = pd.read_csv('test.csv')
sns.set()
lp = sns.lineplot(x=data['x'], y=data['y'], sort=False, lw=1, estimator=None)
plt.show()

输出


推荐阅读