簡體   English   中英

具有不同長度陣列的海底聯合圖

[英]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.

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