2017-08-25 18 views
0

_を有効にしてDataFrameからヒストグラムを生成しようとしていますが、ヒストグラムそのものの横に余分なスペースが追加されています。下の画像: Histogram with additional spacingSeaborn - DataFrameヒストグラムからの間隔を削除する

これらのスペースを削除するにはどうしたらいいですか?次のようにこのグラフを再現するコードは次のとおりです。

import seaborn as sns 
import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 

from random import seed, choice 
seed(0) 

df = pd.DataFrame([choice(range(250)) for _ in range(100)], columns=['Values']) 

bins = np.arange(0, 260, 10) 

df['Values'].hist(bins=bins) 
plt.tight_layout() 
plt.show() 
+0

私のマシンでコードを試してみると、最初と最後に空白はありません。 – Dark

答えて

2

plt.tight_layout()は、あなたのプロットの「外側の余白」(マーク、斧のラベルなどをチェック)のために効果があります。

デフォルトでは、matplotlibのhistはhist bar-plotの内側に余白を残します。無効にするには、次のようにします。

ax = df['Values'].hist(bins=bins) 
ax.margins(x=0) 
plt.show() 
+0

これは本当にスペースを削除します!ありがとうございました。私は、これがなぜ起こるかについてのさらなる説明があるかどうかを見るためにもうちょっと質問を残し、何も現れなければあなたの答えを答えとしてマークします。 – asongtoruin

+1

'xlim'を使うには、希望する制限を知っているか、または決定する必要があります。より良い解決策は、[duplicate](https://stackoverflow.com/questions/42045767/how-can-i-change-the-x-axis-label/)のように 'ax.margins(x = 0)'を使うことです。 in-matplotlib-so-there-is-no-white-space)を使用します。 – ImportanceOfBeingErnest

+0

確かに、このクリーンな解決策を含めるように更新されました –

関連する問題