如何在图上显示2个变量之间的线性关系?

时间:2017-05-07 17:04:11

标签: python python-3.x matplotlib spyder

我正在尝试生成一个线性图,显示百分比和年份之间的关系,基于用户输入的名称。然而,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

1 个答案:

答案 0 :(得分: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()