2017-02-26 8 views
2

matplotlibパッケージを使用してJupyter Notebookにグラフをプロットしています。ここ は私のコードスニペットです:%matplotlibノートブック使用時にグラフが省略されインデントされる

%matplotlib notebook 
import pandas as pd 
import matplotlib.pyplot as plt 
import numpy as np 

plt.figure(figsize=(40,8)) 

freq_series = pd.Series.from_array(count_axis) 
ax = freq_series.plot(kind='bar') 
ax.set_xlabel("Tags") 
ax.set_ylabel("Count") 

plt.bar(range(len(count_axis)), count_axis, align='center') 
plt.xticks(range(len(name_axis)), name_axis, size=16, rotation=90) 

rects = ax.patches 

for rect, count in zip(rects, count_axis): 
    height = rect.get_height() 
    ax.text(rect.get_x() + rect.get_width()/2, height + 5, count, ha='center', va='bottom') 

plt.show() 

X軸ラベルのテキストが長すぎる場合、それはこのような省略/切り取りを取得しても、グラフがデフォルトの奇妙な左インデントがあります

enter image description here

どうすればこの問題を解決できますか? (%matplotlib notebookを使用したためにズームされました)。 私は%matplotlib inlineを使用していますが、X軸は省略されておらず、インデントもありませんが、グラフをズームすることはできません。

EDIT: [OK]を、ので、インデントが原因で、私は40に静的に幅を設定しかし、私はまだそのx軸の省略を取り除く方法を知ってはいけないラインplt.figure(figsize=(40,8))です。

+1

'plt.show()'を呼び出す直前に 'plt.tight_layout()'を呼び出すことができます。これらの問題は修正されます。 (少なくとも彼らは私のためだった)。おそらく他の方法( 'gridspec'のようなものを使用して)を修正する方法がありますが、それらは例のために残念です。 – Elliot

+0

ニース!私はあなたがaswerとしてこれを投稿することができないと思う。ありがとうございました。 – delusionX

答えて

2

ほとんどの基本レイアウトでは、tight_layoutはすべてをページに表示します。 jupyter notebookでこれを試したところ、奇妙なインデントも削除されました。

関連する問題