2017-05-07 13 views
0

ユーザーが入力した名前に基づいて、パーセントと年の関係を示す線グラフを生成しようとしています。しかし、Spyderは私に失敗し続けます。誰かが私が間違っていることを指摘してもらえますか?2つの変数の線形関係をグラフに表示する方法は?

生成しようとしているグラフの画像が添付されています。

import pandas as pd 

#supress future warnings 
import warnings 
warnings.simplefilter(action='ignore', category=FutureWarning) 

# loading data 
df = pd.read_csv("https://raw.githubusercontent.com/hadley/data-baby-names/master/baby-names.csv") 
df.head() 


name2 = input("Name: ") #ask user for input 

lst = df[(df["name"] == name2)] 
lst.plot(x='year',y='percent') 

https://i.stack.imgur.com/GFAt4.png

+0

パンダ私はあなたがスパイダーがあなたを失敗していると言うとき、この –

+0

は、あなたが何を意味するんだと思う相関機能を持っていますか?私はあなたのコードが '.plot'の結果を保存して表示するためのいくつかの手段を欠いていることに気付きます。 –

+0

次のメッセージ「Kernel died、restarting」が表示されます。その後、プログラムが再起動します。 – popomypopa

答えて

1

私はこのコードを実行すると、私は画面に表示されている任意の画像を得ることはありません。これは、下敷きのmatplotlibモジュールの働きによるものです。 plotは実際にプロットを表示せず、代わりにshowを呼び出す必要があります。 show関数にアクセスするには、matplotlibからpyplotをインポートする必要があります。これは、ソリューションを提供します:

import pandas as pd 
import matplotlib.pyplot as plt 

#supress future warnings 
import warnings 
warnings.simplefilter(action='ignore', category=FutureWarning) 

# loading data 
df = pd.read_csv("https://raw.githubusercontent.com/hadley/data-baby-names/master/baby-names.csv") 
df.head() 

name2 = input("Name: ") #ask user for input 

lst = df[(df["name"] == name2)] 
lst.plot(x='year',y='percent') 
plt.show() 
関連する問題