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()

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Recently 祝祝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值