2017-05-07 202 views
0

我想根據用戶輸入的名稱生成一個顯示百分比和年份之間關係的線性圖。然而,Spyder一直在對我失敗。有人能指出我做錯了什麼嗎?如何在圖上顯示兩個變量之間的線性關係?

我附上了我試圖生成的圖表圖像。

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

什麼時,你說的Spyder失敗意思?我注意到你的代碼缺少一些保存'.plot'結果並顯示它的規定。 –

+0

我收到以下消息「內核死亡,重新啓動」。然後程序重新啓動 – 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() 
相關問題