簡體   English   中英

Seaborn 線圖 - 散點圖的連接點

[英]Seaborn lineplot - connecting dots of scatterplot

我對 sns 線圖和散點圖有疑問。 基本上我要做的是連接散點圖的點以呈現連接映射點的最近線。 當面對具有相同 x 軸值的點時,線圖會以某種方式改變寬度。 我希望線圖始終相同,實線。

編碼:

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'])

結果:

在此處輸入圖像描述

我需要一條線,它連接最近的點(基本上是在圖像一中呈現的,但具有相同的實線)。

好的,我終於想通了。 線圖如此混亂的原因是數據沒有正確排序。 當我按“Y”值對 dataframe 數據進行排序時,結果令人滿意。

data = {'X': [13, 13, 13, 12, 11], 'Y':[14, 11, 13, 15, 20], 'NumberOfPlanets':[2, 5, 2, 1, 2]}
cts = pd.DataFrame(data=data)
cts = cts.sort_values('Y')

plt.figure(figsize=(10,10))
plt.scatter(cts['X'], cts['Y'], zorder=1)
plt.plot(cts['X'], cts['Y'], zorder=2)
plt.show()

現在它起作用了。 還在其他類似的散點上對其進行了測試。 一切都很好:) 謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM