2016-10-06 3 views
0

私はintのリストを持っています - 私は 'hours1'と呼んでいます - 0-23の範囲です。今、このリストは、24時間制の1日の「時間」です。しかし、私はそれを別のタイムゾーンに変換したい(7時間上に移動する)。これは十分に簡単ですが、今は2つのリスト:hours1とhours2があります。pyplot histで表示されるビン数は実際のカウントと一致しませんか?

私は、ヒストグラムをプロットするために、次のコードを使用します。

bins = range(24) 
plt.hist(hours,bins=bins, normed=0, facecolor='red', alpha=0.5) 
plt.axis([0, 23, 0, 1000]) 

それはhours1のために完璧に動作します。 hours2では、最後の値(23sのビンの値)が高すぎます。これはカウントエラー/変換エラーではありません。hours2リストをカウントすると、604 23秒が得られます。

ので、これは問題はビニング1だった...

+0

私はあなたのビンの縁があなたの考えではないと思っています。私はあなたが本当に24の瓶を望んでいると思う? – tacaswell

+0

あなたは大丈夫です。それはむしろ恥ずかしいカウントエラーになります.... – shawnKemp

+0

あなた自身の質問に答える必要があります。あなたは最初ではなく、このミスをする最後のものではありません;) – tacaswell

答えて

0

ビンの高さは、私はデータを自分でカウントしたときに私が得るものと一致していない、というのが非常に長いったらしい方法です。要するに、私は何を表示したかったかについて注意を払っていませんでした。

、23時間は0をカウント24別々の「時間ビン」を意味するが、このための正しいエッジ値がビンである、一日でありさ
bins = range(25) 
plt.hist(hours, normed=0, facecolor='green', alpha=0.5, bins=bins) 
plt.axis([0, 24, 0, 1500]) 

=範囲(25:具体的には、これは正しいコードでした)(23が23-24に配置されるように)正しい軸は0〜24です(したがって、ビン23の幅は1です)。簡単な間違いですが、私たちはそこにすべてのビンを入れてしまったと思いますか?

関連する問題