2017-07-14 8 views
0

私は0歳の車のこの配達時間を日数としています。このリストには約20,000の配達日があり、何日も繰り返しています。私の質問は、ビンサイズを1日として表示するためにヒストグラムを取得する方法です。私はでそこに独自の配達日数の量にビンサイズを設定している: len(set(list))ヒストグラムのビンサイズは1日に等しい - pyplot

が、私はlist.count(0)を行うとき、私はヒストグラムを生成するとき、0配達日数の頻度が5000を超えている、しかし、それは4500に戻ります

+0

あなたは 'pyplot.hist'を使用する場合は、' bins'キーワードは、 'array'のような、ビンのエッジを示して渡すことができます。詳細については、[documentation](https://matplotlib.org/devdocs/api/_as_gen/matplotlib.pyplot.hist.html)を参照してください。 –

答えて

0

あなたが指摘したように、len(set(list))は、「配送日」変数の一意の値の数です。これはビンサイズと同じではありません。それは別個のビンの数です。 1つのビン内のアイテムの数を表すために「ビンサイズ」を使用します。 「ビン数」はビン数のより良い名前になります。

あなたは日の元のリストがdays_list呼ばれる想定し、ヒストグラムを生成する場合は、迅速なハイレベルのアプローチがある:

  1. は、新たな設定unique_days =セット(days_list)
  2. を作る反復現在の日付では、 ヒストグラムのバーの高さ(またはビンのサイズ)をdays_list.count(日)と等しく設定します。これにより、 の現在の「日」の値が、配送日数の days_listリストに表示されます。

これは意味がありますか?

誤ってヒストグラムを手動で計算しているのではなく、pyplotが何か問題を起こしているということではない場合は、pyplotの使い方のコードを追加すると役立ちます。

0

ビンの数は、可能な最大日数までの日数によって決定されます。

セイdaylist

あなたは(つまり、同じ名前のPythonコマンドが上書きされるため、リスト listを呼び出すことはありません)、あなたはそのリストの最大値を使用するヒストグラムと

のようにビンの範囲を作成したいリストです
maxi = max(daylist) 
bins = range(0, maxi) 
plt.hist(daylist, bins=bins) 

か、あなたがnumpyのを使用したい場合は、

bins = np.arange(0,np.max(daylist)) 
plt.hist(daylist, bins=bins) 
関連する問題