2017-01-27 3 views
4
import pandas as pd 
import matplotlib.pyplot as plt 

file = 'd:\\a\\pandas\\test.xlsx' 
data = pd.ExcelFile(file) 
df1 = data.parse('Link') 
df2 = df1[['dataFor', 'total']] 
df2 

リターン:パンダデータフレームのエラー:matplotlib.axes._subplots.AxesSubplot

enter image description here

print (type(df2)) 

class 'pandas.core.frame.DataFrame' 

df2.plot(kind='line') 
をしようと私に語りました3210

戻り

matplotlib.axes._subplots.AxesSubplot at 0xe4241d0 

は、それが環境だろうか?

Jupyter notebook > Help > About 

The version of the notebook server is 4.2.3 and is running on: 
Python 3.5.2 |Anaconda 4.2.0 (32-bit)| (default, Jul 5 2016, 11:45:57) [MSC v.1900 32 bit (Intel)] 

障害はどこですか? matplotlibは依然として標準ですか、初心者はBokehのために、あるいはその両方に行くべきですか?あなたはプロットをインラインで表示したい場合には

+1

これはすべて問題なく、正常に動作します。何が問題なのですか?あなたは何を期待し、代わりに何が起こるでしょうか? – ImportanceOfBeingErnest

+0

私は0xe4241d0メッセージでmatplotlib.axes._subplots.AxesSubplotを取得し、jupyterノートブックにグラフィックは表示されません。 – vbd

+0

あなたはすでにWebgraphicsしか制作していないと知っていない限り、私はbokehをお勧めしません。 – ImportanceOfBeingErnest

答えて

14

、(輸入後)ヘッダに

%matplotlib inline 

を使用しています。

あなたはウィンドウ内のグラフィックを表示したい場合は、エンド(あなたは、ヘッダー内import matplotlib.pyplot as pltインポートしていることを確認してください)でライン

plt.show() 

を追加します。

+1

逃したplt.show()...自分自身に注意して、金曜日の午後遅くに投稿しないでください... – vbd

1
## importing libraries 
## notice to import %matplotlib inline to plot within notebook 
import pandas as pd 
%matplotlib inline 
import matplotlib.pyplot as plt 
import datetime 


## making a DF like yours 
df2 = pd.DataFrame([], columns=['dataFor','total']) 
df2['dataFor'] = [datetime.datetime(2013, 9, 11),datetime.datetime(2013, 9, 12),datetime.datetime(2013, 9, 13),datetime.datetime(2013, 9, 14),datetime.datetime(2013, 9, 15),datetime.datetime(2013, 9, 16),datetime.datetime(2013, 9, 17)] 
df2['total'] = [11,15,17,18,19,20,21] 

## notice date are datetimes objects and not strings 
df2.plot(kind='line') 

出力:

enter image description here

1は、グラフのレイアウトを改善したい場合:

plt.figure(figsize=(20,10)) 
plt.plot(df2.dataFor, df2.total, linewidth=5) 
plt.plot(df2.dataFor, df2.total, '*', markersize=20, color='red') 
plt.xticks(fontsize=20, fontweight='bold',rotation=90) 
plt.yticks(fontsize=20, fontweight='bold') 
plt.xlabel('Dates',fontsize=20, fontweight='bold') 
plt.ylabel('Total Count',fontsize=20, fontweight='bold') 
plt.title('Counts per time',fontsize=20, fontweight='bold') 
plt.tight_layout() 

enter image description here

0

私はプロットを実行する上で同じ問題を得たが、私が得ましたそれは%matplotliの後にimport節を実行することで解決しましたb。私は最新版を使っていると思う。私は "%matplotlib inline"を試しましたが、何らかの理由で、私の最後では動作しません。