Python

2016-03-24 7 views
0

kullanarak iki değişkenin nominal değerlerine göre birkaç sürekli değişken çizin Bir oyunda kazanılan paranın (sürekli değişken) diğer üç değişkenin kategorik değerlerinin bir fonksiyonu olarak gösterilmesini sağlayan bir rakam oluşturmak istiyorum. İlk değişken, insanların Para oyunundan önce dahil olup olmadıklarıdır, ikinci değişken, insanların karar verme partnerini bilmeleri ve sonuncunun oyun turu olup olmadığıdır (katılımcılar bilinen bir oyuncu ve 5 ile 5 tur oynarlar). bilinmeyen bir ortak oyuncu ile mermi). FacetGrid kullanarak iki kategorik değişkenlerin değerlerinin bir fonksiyonu olarak keman çizimlerini nasıl çizebileceğimi biliyorum (aşağıya bakınız) ama ona başka bir katman eklemeyi başaramadım. Benim ilk bir ve erimiş bir (aşağıdaki resme bakın):Python

g= sns.FacetGrid(df_long, col = 'XP_Social_Condition', size=5, aspect=1) 
g.map(sns.boxplot, 'DM partner', 'Money', palette = col_talk) 

İki dataframe versiyonlarını yaratmıştır. Ben de f, (ax_l, ax_r) = kullanarak iki arsa oluşturmaya çalıştım ama bu arsa içinde parseller olarak FacetGrid parselleri almak için görünmüyor ... Veri ve bir alt grafik olarak kullanmak istiyorum arsa türünü görmek için aşağıdaki bağlantıları görebilirsiniz - biri bilinen bir oyuncuyu ve bilinmeyen oyuncuyu gösteren birini gösterir. Eğer yardım ederse verileri paylaştığım için mutluyum.

şimdi çözüm

grid = sns.FacetGrid(melted_df, hue='DM partner', col='XP_Social_Condition') 
grid.map(sns.violinplot, 'Round', 'Money') 

önerdi Ama hala çalışmıyor çalıştık. Bu, aşağıda gösterilen arsaları gösterir, üçüncü renk değişkeni farklı koşulları iyi göstermez.

data - original and melted

here is the new figure I get - almost there

Yardımlarınız için çok teşekkür ederiz.

+0

Sadece bu yazının başlığı ve içeriğinin kabul edilmediğini fark ettim. İki kategoriye karşı birkaç sürekli değişken, bir kategoriye karşı üç kategoriye karşı sürekli ... – Peter

+0

Evet, haklısınız @Peter. Aradığım görüntüyü iki şekilde düşünebiliriz: Para turları 5 sürekli değişken olup, iki kategorik değişkene (sosyal dışlanma ve oyuncu) karşı çizilebilirler. VEYA erimiş bir çerçeve kullanırsa, kazanılan para, o zaman üç kategorik değişkenin (sosyal dışlanma, oyuncu ve mermi) karşı çizilmesi gereken tek sürekli değişkendir. Bu konuda üzgünüm ve umarım bu mantıklıdır ... – MarieJ

+0

Ah, doğru. Yuvarlak sürekli değil (yani, yuvarlak 1.2'de olamazsınız); kategorik (kesin olmak için ordinal). – Peter

cevap

1

Tamam, bu nedenle üç farklı kategorik değişkene bağlı olarak bir sürekli veri grafiği oluşturmak istiyorsunuz? iki parsel, XP_Social_Condition her değeri için birinde

grid = sns.FacetGrid(melted_df, col='XP_Social_Condition') 
grid.map(sns.violinplot, 'Round', 'Money', 'DM partner').add_legend() 

col sonuçları:

ne aradığınız olduğunu düşünüyorum. grid.map'a iletilen üç değer, verileri 'Round' x ekseninde, 'money' y ekseninde ve 'DM partner' renkte böler. Çevrenizde oynayabilir ve 'DM_partner', 'XP_Social_Condition' ve 'Round' değerlerini değiştirebilirsiniz. this veya this ('Round' ve 'DM Partner' takas) gibi

sonuç artık görünmelidir.

+0

Merhaba @Peter, yardımlarınız için teşekkürler! Ne yazık ki bu benim tarafımda çalışmıyor. Bir hata mesajı alıyorum: "Ne x' ne de" y "değişkeni sayısal görünmüyor." – MarieJ

+0

Para değerleri gerçekte şamandıra olarak mı depolanıyor? Bu istisnayı para değerleri dizge olarak saklandığında beklerdim. – Peter

+0

evet haklıydın, ben şamandırayı değiştirdim ve şimdi bir komplo görebiliyorum! Ancak arsa oyuncu verilerini göstermez. Birbirinin yanında iki parsel var, biri kapsayıcı koşulda kazandığım beş parayı ve diğerini hariç tutma koşulunda kazanılan beş tur parayı gösteriyor. Sorun, oyuncu koşullarının birbirinden ayrı olarak gösterilmek yerine birbirinin üstünde gösterilmesi gibi görünüyor. Maalesef size göstermek için bir resim gönderemiyorum ... – MarieJ