簡體   English   中英

如何在沒有將軸存儲在 numpy.ndarray 中的情況下創建具有多列的計數圖?

[英]How do I create a count plot with multiple columns without the axes being stored in a numpy.ndarray?

我是編碼新手,這是我的第一篇文章。 對不起,如果它的措辭更好!

我正在參加免費的在線課程,對於其中一個項目,我必須制作一個帶有 2 個子圖列的計數圖。

我已經設法使用下面的代碼制作了一個包含多個子圖的計數圖,並且所有值都是正確的。

fig = sns.catplot(x = 'variable', hue = 'value', order = ['active', 'alco', 'cholesterol', 'gluc', 'overweight', 'smoke'], col='cardio', data = df_cat, kind = 'count')

但是由於我這樣做的方式, fig.axes 存儲在二維數組中。 數組兩行之間的唯一區別是標題(有氧運動 = 0 或有氧運動 = 1)。 我假設這是因為 col='cardio'。 col 參數是否總是導致 fig.axes 存儲在二維數組中? 有沒有辦法解決這個問題,還是我必須完全改變我制作圖表的方式?

我確信這通常不是問題,但正因為如此,當我通過測試模塊運行我的程序時,它會失敗,因為測試模塊中的某些函數不適用於 numpy.ndarrays。

如果我將引用從 fig.axes[0] 更改為 fig.axes[0,0],我通過了測試,但顯然我不能只更改測試模塊以通過。

我發現了一些東西。 這只是一個實現細節,因此依賴它會很瘋狂。 如果你設置 col_wrap,那么你會得到一個不同形狀的軸 ndarray。

轉載如下:

import seaborn as sns 

# I don't have your data but I have this example
tips = sns.load_dataset("tips")

fig = sns.catplot(x='day', hue='sex', col='time', data=tips, kind='count', col_wrap=2)
fig.axes.shape

它具有形狀(2,),即它是一維的。 海生==0.11.2。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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