第1关:散点图绘制
import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt import numpy as np import pandas as pd plt.rcParams['font.sans-serif']=['simhei'] plt.rcParams['font.family']='sans-serif' plt.rcParams['axes.unicode_minus'] = False # 修复负号显示问题 plt.figure(figsize=(6,4)) def test(): #********** Begin ********* # 读取数据 data = pd.read_excel('各站点各时刻进出站客流数据.xlsx') # 切片获取站点155的数据 d1 = data.loc[data['站点编号'] == 155, ['站点编号', '时刻', '总进站客流']] # 提取x和y x = d1.iloc[:, 1] # 时刻 y = d1.iloc[:, 2] # 总进站客流 # 绘制散点图 plt.scatter(x, y) plt.xlabel('时刻') plt.ylabel('总进站客流量') plt.title('155各时刻进站客流散点图') # 保存图片 plt.savefig("学员4.1/155各时刻进站客流散点图.png") #********** End **********
第2关:线性图绘制
import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt import numpy as np import pandas as pd plt.rcParams['font.sans-serif']=['simhei'] plt.rcParams['font.family']='sans-serif' plt.figure(figsize=(6,4)) def test(): #********** Begin ***** #读取“各站点各时刻进出站客流数据.xlsx”,绘制站点 155 各时刻进站客流线性图 data=pd.read_excel('各站点各时刻进出站客流数据.xlsx') d1=data.loc[data['站点编号']==155,['站点编号','时刻','总进站客流']] x=d1.iloc[:,1] y=d1.iloc[:,2] plt.plot(x,y) plt.rcParams['font.sans-serif']='SimHei' plt.xlabel('时刻') plt.ylabel('总进站客流') plt.title('155各时刻进站客流线性图') plt.savefig('学员4.2/155各时刻进站客流线性图.png') #最后,采用plt.savefig函数保存图片,文件路径如下:"学员4.2/155各时刻进站客流线性图.png" #********** End **********#
第3关:柱状图绘制
import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt import numpy as np import pandas as pd plt.rcParams['font.sans-serif']=['simhei'] plt.rcParams['font.family']='sans-serif' plt.figure(figsize=(6,4)) def test(): #********** Begin ***** data=pd.read_excel('各站点各时刻进出站客流数据.xlsx') intf=data.loc[data['站点编号']==155,['站点编号','时刻','总进站客流']] x=intf.iloc[:,1] y=intf.iloc[:,2] plt.bar(x,y) plt.xlabel('时刻') plt.ylabel('总进站客流') plt.title('155各时刻进站客流柱状图') plt.savefig("学员4.3/155各时刻进站客流柱状图.png") #********** End **********#
第4关:直方图绘制
import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt import numpy as np import pandas as pd plt.rcParams['font.sans-serif']=['simhei'] plt.rcParams['font.family']='sans-serif' plt.figure(figsize=(6,4)) def test(): #********** Begin ***** data=pd.read_excel('各站点各时刻进出站客流数据.xlsx') intf=data.loc[data['站点编号']==155,['站点编号','时刻','总进站客流']] x=intf.iloc[:,1] y=intf.iloc[:,2] plt.hist(y) plt.xlabel('总进站客流') plt.ylabel('频数') plt.title('155各时刻进站客流直方图') plt.savefig("学员4.4/155各时刻进站客流直方图.png") #********** End **********#
第5关:饼图绘制
import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt import numpy as np import pandas as pd plt.rcParams['font.sans-serif']=['simhei'] plt.rcParams['font.family']='sans-serif' plt.figure(figsize=(6,4)) def test(): #********** Begin ***** data=pd.read_excel('各站点各时刻进出站客流数据.xlsx') intf=data.loc[data['站点编号']==157,['站点编号','时刻','总进站客流']] x=intf.iloc[:,1] y=intf.iloc[:,2] plt.pie(y,labels=x,autopct='%1.2f%%') plt.title('157各时刻进站客流饼图') plt.savefig("学员4.5/157各时刻进站客流饼图.png") #********** End **********#
第6关:箱线图绘制
import matplotlib.pyplot as plt import pandas as pd plt.rcParams['font.sans-serif']=['simhei'] plt.rcParams['font.family']='sans-serif' def test(): #********** Begin ***** #读取“各站点各时刻进出站客流数据.xlsx”,绘制站点9时刻的进站客流箱线图 data = pd.read_excel('各站点各时刻进出站客流数据.xlsx') #获取各站点9时刻总进站客流 y = data.loc[data['时刻']==9, '总进站客流'] #定义x是站点编号,y是总进站客流 plt.figure(figsize=(6,4)) plt.boxplot(y) plt.ylabel('总进站客流') plt.title('9时刻各站点进站客流箱线图') plt.savefig("学员4.6/9时刻各站点进站客流箱线图.png") #最后,采用plt.savefig函数保存图片,文件路径如下:"学员4.6/9时刻各站点进站客流箱线图.png" #********** End **********#
第7关:子图绘制
import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt import numpy as np import pandas as pd import warnings plt.rcParams['font.sans-serif']=['simhei'] plt.rcParams['font.family']='sans-serif' plt.figure(figsize=(6,4)) warnings.filterwarnings('ignore') def test(): #********** Begin ***** data=pd.read_excel('各站点各时刻进出站客流数据.xlsx') intf155 = data.loc[data['站点编号']==155,['站点编号','时刻','总进站客流']] intf157 = data.loc[data['站点编号']==157,['站点编号','时刻','总进站客流']] intf151 = data.loc[data['站点编号']==151,['站点编号','时刻','总进站客流']] intf123 = data.loc[data['站点编号']==123,['站点编号','时刻','总进站客流']] plt.subplot(2,2,1) x1=intf155.iloc[:,1] y1=intf155.iloc[:,2] plt.plot(x1,y1) plt.xlabel('时刻') plt.ylabel('总进站客流') plt.title('155各时刻进站客流线性图') plt.tight_layout() plt.subplot(2,2,2) x2=intf157.iloc[:,1] y2=intf157.iloc[:,2] plt.plot(x2,y2) plt.xlabel('时刻') plt.ylabel('总进站客流') plt.title('157各时刻进站客流线性图') plt.tight_layout() plt.subplot(2,2,3) x3=intf151.iloc[:,1] y3=intf151.iloc[:,2] plt.plot(x3,y3) plt.xlabel('时刻') plt.ylabel('总进站客流') plt.title('151各时刻进站客流线性图') plt.tight_layout() plt.subplot(2,2,4) x4=intf123.iloc[:,1] y4=intf123.iloc[:,2] plt.plot(x4,y4) plt.xlabel('时刻') plt.ylabel('总进站客流') plt.title('123各时刻进站客流线性图') plt.tight_layout() plt.savefig("学员4.7/4个站点各时刻进站客流子图.png") #********** End **********#