2016-11-06 69 views
0

我正在Python中使用Seaborn創建一個簡單的pairplot,通過Pandas DataFrame中變量的圖元素顏色顯示不同級別的分類變量。雖然情節完全按照我的意圖出現,但分類變量是二元的,這使得對於不熟悉數據的觀衆來說這些傳說毫無意義(類別自然標記爲0 & 1)。Seaborn pairplot:如何更改圖例標籤文本

我的代碼示例:

g = sns.pairplot(df, hue='categorical_var', palette='Set3') 

有沒有辦法來改變圖例標籤的文本與pairplot?或者我應該使用PairGrid,如果是的話,我會如何處理?

+0

爲什麼0和1是類別的自然標籤?爲何不使用有意義的名字? – mwaskom

+0

因爲稍後需要用數值分析。 –

+2

http://pandas.pydata.org/pandas-docs/stable/categorical.html –

回答

0

由於您沒有提供完整的代碼示例,也沒有模擬數據,我將使用自己的代碼進行回答。

首先解決

最簡單的必須保持你的二進制文件的標籤進行分析,並密謀建立適當的名稱欄。這裏是我的示例代碼,你應該抓住的想法:

def transconum(morph): 
    if (morph == 'S'): 
     return 1.0 
    else: 
     return 0.0 

CompactGroups['MorphNum'] = CompactGroups['MorphGal'].apply(transconum) 

解決方法二

另一種方式是在飛機上覆蓋的標籤。這裏是我的一個完美的代碼示例:

grid = sns.jointplot(x="MorphNum", y="PropS", data=CompactGroups, kind="reg") 
grid.set_axis_labels("Central type", "Spiral proportion among satellites") 
grid.ax_joint.set_xticks([0, 1, 1]) 
plt.xticks(range(2), ('$Red$', '$S$')) 
+1

只是對您的第一個解決方案的評論:可以減少到列表理解'CompactGroups ['MorphNum'] = [1 if i ==真的其他0對於我CompactGroups ['MorphGal'] =='S']' –

+0

輝煌,歡呼! :) – Matt