2017-05-07 201 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() 
相关问题