亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何刪除在 seaborn 中頂部有箱線圖的直方圖中的間距?

如何刪除在 seaborn 中頂部有箱線圖的直方圖中的間距?

搖曳的薔薇 2023-05-09 16:11:27
我正在遍歷一個數據框,并為我數據中的每個數值參數構建一個直方圖,頂部有一個箱線圖。目的是更好地理解數據集中的所有變量。下面的代碼有效,但我的問題是它在直方圖中的條形之間打印空格,我希望每個 bin 之間的空格為零。任何建議表示贊賞 - 謝謝!for i in numerical_cols:    f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={"height_ratios": (.15, .85)})    sns.distplot(raw[i], ax=ax_hist,kde=False)    sns.boxplot(raw[i], ax=ax_box)    ax_box.set(xlabel='')    sns.despine(ax=ax_hist)    sns.despine(ax=ax_box, left=True)    pdf.savefig()plt.close()pdf.close()plt.cla()print(" ")print("Done Writing Frequency Visualizations!")
查看完整描述

1 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

您的數據似乎是離散的,只允許整數值。因此,標準直方圖可能會造成混淆,因為它會創建與離散值不對齊的大小相等的分箱。在這種情況下,許多箱子都是空的。(例如,當您有 100 個值時,箱子將獲得多個值,但由于四舍五入,某些箱子將獲得比其他箱子更多的值。)


應該給出明確的 bin,例如在整數之間的一半處有 bin 邊界:


from matplotlib import pyplot as plt

import numpy as np

import seaborn as sns


p = np.random.rand(21) + 0.1

p /= p.sum()

raw_i = np.random.choice(range(21), size=1000000, p=p)

bins = np.arange( -0.5, raw_i.max()+1, 1)

fig, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={"height_ratios": (.15, .85)})

sns.distplot(raw_i, bins=bins, ax=ax_hist, kde=False)

sns.boxplot(raw_i, ax=ax_box)


ax_box.set(xlabel='')

sns.despine(ax=ax_hist)

sns.despine(ax=ax_box, left=True)

ax_box.set_yticks([])

plt.show()

http://img1.sycdn.imooc.com//645a0054000116ae06340473.jpg

查看完整回答
反對 回復 2023-05-09
  • 1 回答
  • 0 關注
  • 177 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號