簡體   English   中英

如何在python中繪制高斯形狀的直方圖?

[英]How to plot Gaussian shaped histogram in python?

我有一個名為sdf只有一列:

size
20
28
38
42
42
42
44
124
176
192
194
216
228
316
318
2048
2714
2802
4128
4186
6910
9313
10816
16560
20704
34766
91022

我正在使用相同的直方圖

sns.distplot(s['size'], bins = len(s))

它產生如下結果: 在此輸入圖像描述

我想知道如何進行一些更改:

  1. 我想直方圖有一種高斯外觀如下: 高斯外觀的例子(這只是一個例子來顯示我期待的直方圖的類型)
  2. 在我繪制的圖表中,箱子不是連續的,意味着在2個箱子之間存在間隙。 我想繪制它們時,我想在2個箱子之間沒有間隙。

我想知道如何實現這兩項任務。

謝謝

鑒於此數據不是正常分布的,您將很難獲得您想要的“高斯外觀”。

使用size列作為計數是您最接近您鏈接的“Guassian外觀”(如果這完全是您的數據如何解釋)。

import matplotlib.pyplot as plt
from io import StringIO
import pandas as pd

plt.style.use('seaborn')

data = pd.read_fwf(StringIO("""
20
28
38
42
42
42
44
124
176
192
194
216
228
316
318
2048
2714
2802
4128
4186
6910
9313
10816
16560
20704
34766
91022
"""), names=['size'], header=None)

plt.bar(range(data['size'].size), data['size'], width=1)
plt.xlabel('bin')
plt.ylabel('size')

在此輸入圖像描述

暫無
暫無

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

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