![](/img/trans.png)
[英]How to overlay a Seaborn jointplot with a “marginal” (distribution histogram) from a different dataset
[英]seaborn jointplot with arrays of different length
我正在嘗試在名為seaborn的包(matplotlib的包裝器)中繪制2個變量的聯合分布。 最終,我想得到這樣的東西: http : //web.stanford.edu/~mwaskom/software/seaborn/examples/hexbin_marginals.html
問題是當我通過不同長度的陣列時,seaborn向我發誓。 假設,
var1 = [1,1,1,1,1,2,2,2,2,3,3,5,7]
var2 = [1,1,1,1,2,2,2,3,3,3,4,4,5,5,6,6,7,9,10,13]
然后,如果我這樣寫:
import seaborn as sns
sns.jointplot(var1, var2, kind='hex')
它拋出
ValueError: operands could not be broadcast together with shapes (13) (20)
有誰知道如何使海生調和?
TL / DR:當數組長度不同時,聯合圖不是定義明確的數學運算
您可以將hexbin視為散點圖,除了不繪制點,它會稍微增加該點落入的六邊形區域的值。 顯然,除非將所有x與y配對,否則無法繪制散點圖。
數學答案:
在該圖中,如果您查看頂部和右側的直方圖,則為一維頻率分布。 在主窗口中繪制2D分布的目的在於查看變量如何相關-如果它們是獨立的,則每個(x,y)坐標都簡單為x變量的相對頻率乘以x的相對頻率y變量(即對於x,y indep的pdf f(x,y) = f(x)f(y)
)。
因此,如果要查看這些變量如何偏離獨立性,則必須獲得有關它們的聯合信息-聯合意味着兩個變量的觀測值都有一個共同的索引,此處假定為(0 ... i)。 另請參閱Wikipedia上 的獨立性和“交叉驗證”中的獨立性標簽 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.