我有关于sns的线图和散点图的问题。基本上,我想做的是将散点图的点连接起来,呈现最接近的线连接映射点。不知何故,当遇到具有相同x轴值的点时,lineplot会改变宽度。我希望lineplot一直保持相同的实线。
代码如下:
结果: 任何想法吗?
编辑:
如果我尝试使用pyplot,它也不起作用: 代码:
结果: 我需要一条连接最近点的直线(基本上就是图像一所呈现的,但是用同样的实线)。
代码如下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
data = {'X': [13, 13, 13, 12, 11], 'Y':[14, 11, 13, 15, 20], 'NumberOfPlanets':[2, 5, 2, 1, 2]}
cts = pd.DataFrame(data=data)
plt.figure(figsize=(10,10))
sns.scatterplot(data=cts, x='X', y='Y', size='NumberOfPlanets', sizes=(50,500), legend=False)
sns.lineplot(data=cts, x='X', y='Y',estimator='max', color='red')
plt.show()
结果: 任何想法吗?
编辑:
如果我尝试使用pyplot,它也不起作用: 代码:
plt.plot(cts['X'], cts['Y'])
结果: 我需要一条连接最近点的直线(基本上就是图像一所呈现的,但是用同样的实线)。
sns.lineplot(..., estimator='max', ci=None)
来抑制默认显示的置信区间。 - JohanCci=None
没有帮助。褪色的线完全消失了。 - dtBane'max'
。sns.lineplot
每个x
只使用一个y
值。如果你只想连接你的点,你可以直接在 seaborn 散点图上使用 matplotlib 的线性图。例如:plt.plot(cts['X'], cts['Y'], color='red', lw=2)
。 - JohanCplt.plot(cts['X'], cts['Y'])
,仍然不能得到我想要的结果,因为它会连接到中间点,然后连接到上下各一个点。我需要一条连接最近点的线。请参考编辑过的帖子中的图片。 - dtBane