Python大数据分析与挖掘实战--Matplotlib
Posted Recently 祝祝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python大数据分析与挖掘实战--Matplotlib相关的知识,希望对你有一定的参考价值。
import Matplotlib.pyplot as plt
基础语法:
plt.figure(1):创建第一个画布
plt.subplot(2,1,1):把画布划分成2x1图形阵,选择第一张图片
title:标题
plt.xlabel("x"):设置x轴标题为x
plt.ylabel("y"):设置y轴标题为y
plt.xlim((0,1)):指定x轴范围为(0,1)
plt.ylim((0,1)):指定y轴范围为(0,1)
plt.xticks([0,0.3,0.6,1],rotation=45):指定x轴刻度,rotation=45,为下标旋转角度为45度
plt.yticks([0,0.5,1]):指定y轴刻度
plt.plot(x,x**2):画图,多个plot就画多个图
plt.plot(x,y):画图
plt.legend([y=x*2","y=x"]):设置两个图的名称,与画的顺序一一对应
plt.rcParams['font.sans_serif'] ='SimHei' 设置字体
plt.rcParams['axes.unicode_minus'] =False 解决‘——’异常问题
1:散点图
绘制D02车次每日上车人数散点图
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
path='一、车次上车人数统计表.xlsx'
data=pd.read_excel(path)
tb=data.loc[data["车次"]=='D02',['日期','上车人数']].sort_values("日期");
x=np.arange(1,len(tb.iloc[:,0])+1)
y1=tb.iloc[:,1]
plt.rcParams['font.sans-serif']='SimHei'
#重点语句
plt.scatter(x,y1)
plt.xlabel("日期")
plt.ylabel("上车人数")
plt.xticks([2,4,6,8,10,14,16],tb["日期"].values[[0,4,9,14,19,21,23]],rotation=90)
plt.title("D02车次上车人数散点图")
plt.show()
重点是画图是的语句:plt.scatter(x,y1)
2:线性图:
r*–:数据点为星型,图形类型为虚线图,线条颜色为红色
b*–:数据点为星型,图形类型为虚线图,线条颜色为蓝色
bo:表示数据点为圆点,实线,蓝色
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
path='一、车次上车人数统计表.xlsx'
data=pd.read_excel(path)
tb=data.loc[data["车次"]=='D02',['日期','上车人数']].sort_values("日期");
tb1=data.loc[data["车次"]=='D03',['日期','上车人数']].sort_values("日期");
x=np.arange(1,len(tb.iloc[:,0])+1)
y1=tb.iloc[:,1]
y2=tb1.iloc[:,1]
plt.rcParams['font.sans-serif']='SimHei'
plt.figure("子图")
plt.figure(figsize=(10,8))
# 绘制figure界面
plt.figure(1)
plt.subplot(2,1,1)
plt.plot(x,y1,"r*--")
plt.xlabel("日期")
plt.ylabel("上车人数")
plt.title("上车人数走势图")
plt.legend(['D02','D03'])
plt.xticks([1,5,10,15,20,24],tb["日期"].values[[0,4,9,14,19,23]],rotation=45)
plt.savefig("myfigure1")
plt.subplot(2,1,2)
plt.plot(x,y2,"b*--")
plt.xlabel("日期")
plt.ylabel("上车人数")
plt.title("上车人数走势图")
plt.legend(['D02','D03'])
plt.xticks([1,5,10,15,20,24],tb["日期"].values[[0,4,9,14,19,23]],rotation=45)
plt.savefig("myfigure1")
3:柱状图:bar(x,y,[可选项])
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
path='一、车次上车人数统计表.xlsx'
data=pd.read_excel(path)
tb=data.loc[data["车次"]=='D02',['日期','上车人数']].sort_values("日期");
tb1=data.loc[data["车次"]=='D03',['日期','上车人数']].sort_values("日期");
x=np.arange(1,len(tb.iloc[:,0])+1)
plt.figure(2)
plt.bar(x,y1)
plt.xlabel("日期")
plt.ylabel("上车人数")
plt.title("D02车次上车人数柱状图")
plt.xticks([1,5,10,15,20,24],tb["日期"].values[[0,4,9,14,19,23]],rotation=45)
plt.savefig("myfigure2")
4:直方图:hist(x,[可选项])
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
path='一、车次上车人数统计表.xlsx'
data=pd.read_excel(path)
tb=data.loc[data["车次"]=='D02',['日期','上车人数']].sort_values("日期");
tb1=data.loc[data["车次"]=='D03',['日期','上车人数']].sort_values("日期");
x=np.arange(1,len(tb.iloc[:,0])+1)
#直方图
plt.figure(3)
plt.hist(y1)
plt.xlabel("上车人数")
plt.ylabel("频数")
plt.title("D02车次上车人数直方图")
plt.savefig("myfigure3")
5:饼图pie(x,y,[可选项])
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
path='一、车次上车人数统计表.xlsx'
data=pd.read_excel(path)
tb=data.loc[data["车次"]=='D02',['日期','上车人数']].sort_values("日期");
tb1=data.loc[data["车次"]=='D03',['日期','上车人数']].sort_values("日期");
x=np.arange(1,len(tb.iloc[:,0])+1)
#饼图
plt.figure(4)
D=data.iloc[:,0]
D=list(D.unique())
list1=[]
for d in D:
dt=data.loc[data['车次']==d,["上车人数"]]
s=dt.sum()
list1.append(s[0])
# 绘制饼图
plt.pie(list1,labels=D,autopct="%1.2f%%")
plt.title("各车次上车人数柱状图")
plt.savefig("myfigure4")
6:箱线图boxplot(x,[可选项])
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
path='一、车次上车人数统计表.xlsx'
data=pd.read_excel(path)
tb=data.loc[data["车次"]=='D02',['日期','上车人数']].sort_values("日期");
tb1=data.loc[data["车次"]=='D03',['日期','上车人数']].sort_values("日期");
x=np.arange(1,len(tb.iloc[:,0])+1)
#箱线图
plt.figure(5)
plt.boxplot([y1.values,y2.values])
plt.xticks([1,2],['D02','D03'],rotation=0)
plt.title("D02,D03车次上车人数箱线图")
plt.ylabel("上车人数")
plt.xlabel("车次")
plt.savefig("myfigure5")
plt.show()
7:子图
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
path='一、车次上车人数统计表.xlsx'
data=pd.read_excel(path)
tb=data.loc[data["车次"]=='D02',['日期','上车人数']].sort_values("日期");
tb1=data.loc[data["车次"]=='D03',['日期','上车人数']].sort_values("日期");
x=np.arange(1,len(tb.iloc[:,0])+1)
y1=tb.iloc[:,1]
y2=tb1.iloc[:,1]
plt.rcParams['font.sans-serif']='SimHei'
plt.figure("子图")
plt.figure(figsize=(10,8))
# 绘制figure界面
plt.subplot(3,2,1)
plt.scatter(x,y1)
plt.xlabel("日期")
plt.ylabel("上车人数")
plt.xticks([2,4,6,8,10,14,16],tb["日期"].values[[0,4,9,14,19,21,23]],rotation=90)
plt.title("D02车次上车人数散点图")
plt.subplot(3,2,2)
plt.plot(x,y1,"r*--")
plt.plot(x,y2,"b*--")
plt.xlabel("日期")
plt.ylabel("上车人数")
plt.title("上车人数走势图")
plt.legend(['D02','D03'])
plt.xticks([1,5,10,15,20,24],tb["日期"].values[[0,4,9,14,19,23]],rotation=45)
plt.savefig("myfigure1")
#柱状图
plt.subplot(3,2,3)
plt.bar(x,y1)
plt.xlabel("日期")
plt.ylabel("上车人数")
plt.title("D02车次上车人数柱状图")
plt.xticks([1,5,10,15,20,24],tb["日期"].values[[0,4,9,14,19,23]],rotation=45)
#直方图
plt.subplot(3,2,4)
plt.hist(y1)
plt.xlabel("上车人数")
plt.ylabel("频数")
plt.title("D02车次上车人数直方图")
#饼图
plt.subplot(3,2,5)
D=data.iloc[:,0]
D=list(D.unique())
list1=[]
for d in D:
dt=data.loc[data['车次']==d,["上车人数"]]
s=dt.sum()
list1.append(s[0])
# 绘制饼图
plt.pie(list1,labels=D,autopct="%1.2f%%")
plt.title("各车次上车人数柱状图")
#箱线图
plt.subplot(3,2,6)
plt.boxplot([y1.values,y2.values])
plt.xticks([1,2],['D02','D03'],rotation=0)
plt.title("D02,D03车次上车人数箱线图")
plt.ylabel("上车人数")
plt.xlabel("车次")
plt.show()
以上是关于Python大数据分析与挖掘实战--Matplotlib的主要内容,如果未能解决你的问题,请参考以下文章