1.绘制折线图
使用plot()绘制折线图
plot(x,y,fmt,label = None)
常用参数含义如下:
x:表示x轴数据,默认为range(len(y))
y:表示y轴数据
fmt:表示快速设置线条样式的格式字符串
label:表示应用于图例的标签文本
案例:天气变化
代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(4,19)
y_max = np.array([32,33,34,34,33,31,30,29,30,29,26,23,21,25,31])#每日最高气温
y_min = np.array([19,19,20,22,22,21,22,16,18,18,17,14,15,16,16])#每日最低气温
plt.plot(x,y_max,x,y_min)
plt.show()#展示所绘制图像
结果展示:
2.绘制柱形图或堆积柱形图
使用bar()绘制柱形图或堆积柱形图
bar(x,height,width = 0.8,bottom = None,align = "center",tick_label = None,xerr = None,yerr = None)
x:表示柱形的x坐标值
height:表示柱形的高度
width:表示柱形的宽度,默认为0.8
bottom:表示柱形底部的y坐标值,默认为0
案例:一段时间的某电商平台的GMV
代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,8)
y = np.array([10770,16780,24440,30920,37670,48200,57270])
plt.bar(x,y)
plt.xticks(x,("FY2013","FY2014","FY2015","FY2016","FY2017","FY2018","FY2019"))
plt.show()
结果展示:
3.绘制条形图或堆积条形图
使用barh()绘制条形图或堆积条形图
barh(y,tidth,height = 0.8,left = None,align = "center")
y:表示条形的y坐标值
width:表示条形的宽度,默认为0.8
height:表示条形的高度
left:条形左侧的x坐标,默认为0
align:表示条形的对齐方式,有“center”,“edge”两个取值
案例:商品的网购替代料
代码:
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.array([0.959,0.951,0.935,0.924,0.893,
0.892,0.865,0.863,0.860,0.856,
0.854,0.835,0.826,0.816,0.798,
0.765,0.763,0.67])
y = np.arange(1,19)
labels = ["家政、家教、保姆等生活服务","飞机票、火车票","家具","手机、手机配件","计算机及其配套产品","汽车用品","通信充值","游戏充值","个人护理用品","书报杂志","餐饮、旅游、住宿","家用电器","食品、饮料","家庭日杂","保险","服装","数码产品","其他商品和服务","工艺品"]
plt.barh(y,x,align = "center")
plt.yticks(y,(labels))
plt.show()
结果展示:
4.绘制堆积面积图
使用stackplot()绘制堆积面积图
stackplot(x,y,labels = (),baseline = 'zero',data = None)
x:表示x轴的数据,可以是一维数组
y:表示y轴的数据,可以是二维数组或一维数组序列
labels:表示每组折线及填充区域的标签
案例:物流费用统计
代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,13)
y_a = np.array([198,215,245,222,200,236,201,253,236,200,266,290])
y_b = np.array([203,236,200,236,269,216,298,333,301,349,360,368])
y_c = np.array([185,205,226,199,238,200,250,209,246,219,253,288])
plt.stackplot(x,y_a,y_b,y_c)
plt.show()
结果展示:
5. 绘制直方图
使用hist()绘制直方图
hist(x,bins = None,range = None,cumulative = False,bottom = None,histtype = 'bar',align = 'mid')
x:表示x轴的数据,可以为单个数组或多个数组的序列
bins:表示矩形条的个数,默认为10
range:表示数据的范围。若未提供,默认数据范围为(x.min(),x.max())
cumulative:表示是否计算累计频数或频率
histtype:表示直方图的类型,支持'bar'、‘barstacked’、‘step’、‘stepfill’
案例:人脸识别的灰度直方图
代码:
import matplotlib.pyplot as plt
import numpy as np
random_state = np.random.RandomState(19680801)
random_x = random_state.randn(10000)
plt.hist(random_x,bins=25)
plt.show()
结果展示: