我有以下數(shù)據(jù)集、代碼和繪圖:import matplotlib.pyplot as pltimport seaborn as snsimport pandas as pddata = [['tom', 10,15], ['matt', 13,10]]df3 = pd.DataFrame(data, columns = ['Name', 'Attempts','L4AverageAttempts']) f,ax = plt.subplots(nrows=1,figsize=(16,9))sns.barplot(x='Attempts',y='Name',data=df3)plt.show()如何獲得某些描述(點、*、形狀等)的標記以顯示tom平均為 15(因此低于他的平均水平)并且 matt平均為 10 所以高于平均水平。因此,一個標記會根據(jù)L4AverageAttempts每個人的價值來計算。我已經(jīng)調(diào)查過了axvline,但這似乎只是一個固定數(shù)字,而不是每個 y 軸類別的特定值。任何幫助將非常感激!謝謝!
1 回答

溫溫醬
TA貢獻1752條經(jīng)驗 獲得超4個贊
L4AverageAttempts您可以使用x 值在條形圖的頂部簡單地繪制散點圖:
您可以為此使用seaborn.scatterplot。確保設(shè)置zorder參數(shù),使標記出現(xiàn)在條形圖的頂部。
import seaborn as sns
import pandas as pd
data = [['tom', 10,15], ['matt', 13,10]]
df3 = pd.DataFrame(data, columns = ['Name', 'Attempts','L4AverageAttempts'])
f,ax = plt.subplots(nrows=1,figsize=(16,9))
sns.barplot(x='Attempts',y='Name',data=df3)
sns.scatterplot(x='L4AverageAttempts', y="Name", data=df3, zorder=10, color='k', edgecolor='k')
plt.show()
添加回答
舉報
0/150
提交
取消