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