簡體   English   中英

在 Seaborn 中注釋 Swarmplot

[英]Annotating Swarmplot in Seaborn

因此,最近從 R 過來后,我仍然在掌握 Python。 我正在努力自動注釋 DF Column 中的圖。 這在 R 中很容易完成。

前幾天我在 MPL Scatter plots 上得到了同樣的幫助。 但我一直在努力解決這個問題。 我將添加一些隨機數據,並展示我所追求的那種東西的圖片。

import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt 
import matplotlib as mpl
import seaborn as sns
d = {'Player': ['Messi', 'Ronaldo','Mbappe','Kovacic', 'Werner','Salah'], '% of Squad pass': [3.2,3.2,4.4,9.9,7.4,4.8)
df = pd.DataFrame(data = d)

這就是我現在正在做的事情。

fig, ax = plt.subplots(1,1, figsize=(4,4))
sns.swarmplot(data=df, x ='% of Squad Pass', ax = ax)

這讓我明白了,

是否有一個循環 function 我可以使用它來自動使用 dataframe 中“播放器”列中的文本注釋 plot 點?

所以我會以這樣的方式結束

在此處輸入圖像描述

謝謝,希望這將是我關於此事的最后一個問題!

這是我的提議。 您需要導入隨機庫。

import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt 
import matplotlib as mpl
import seaborn as sns
import random

d = {'Player': ['Messi', 'Ronaldo','Mbappe','Kovacic', 'Werner','Salah'], '% of Squad pass': [3.2,3.2,4.4,9.9,7.4,4.8]}
df = pd.DataFrame(data = d)

fig, ax = plt.subplots()
sns.swarmplot(data = df, x=df['% of Squad pass'], ax = ax)

for i, j in enumerate(df['% of Squad pass']):
    plt.annotate(df['Player'][i],
                xy=(df['% of Squad pass'][i],0),
                xytext=(df['% of Squad pass'][i], random.uniform(0.2,0.4)),
                arrowprops=dict(arrowstyle="->"))

暫無
暫無

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

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