饼图
pie(x)
- x:每一块的比例如果总和大于1会自动归一化
- labels:饼图区域外侧显示的说明文字
- explode:扇形离圆心的距离
- startangle:起始绘制角度(默认从x轴正方向逆时针)
- shadow:在饼图下面画阴影(默认false)
- labeldistance:label标记的绘制位置,参数为相当于半径的比例(默认1.1)
- autopct:控制饼图内百分比设置
- radius:饼图半径(默认1)
- pctdistance:指定autopct的位置刻度(默认0.6)
- frame:参数是布尔类型,如果为true绘制带有表的轴框架
- textprops:传入参数是字典类型,设置标签和比例文字的格式
如果你的饼图输出出来像被拍扁了不是正圆的话,试试这个命令哦
plt.axis("equal") #将饼图显示为正圆
箱线图(盒图)
由五个数值点组成:最小值,下四分位数,中位数,上四分位数,最大值。也可以往盒图里面加入平均值。上四分位数到最大值之间建立一条延伸线,这个延伸线称为“胡须”
#plt.boxplot()箱线图
import numpy as np
data = [np.random.normal(0,std,100) for std in range(1,4)] #列表推导式生成三组100个数的列表
plt.boxplot(data,notch = True,#中间凹进去一点
sym = '*',#异常点的形状
vert=False,#横着的箱线图
)
棉棒图
#plt.stem()绘制棉棒图
x = np.linspace(0.5,2*np.pi,20)
y = np.random.rand(20)
plt.stem(x,y,
linefmt = '-.',#棉棒的样式
markerfmt='*',#棉棒末端的样式
basefmt='--',#指定基线样式
)
绘制误差棒图
#绘制误差棒图
x = np.linspace(-4,4,10)
y = np.sin(x)
plt.errorbar(x,y,yerr = 0.2,xerr = 0.2,fmt='ro:',#数据点的标记样式和数据点标记的链接样式
ecolor='g', #误差棒的线条颜色
elinewidth = 5, #误差棒的线条粗细
ms = 8, #数据点的大小
mfc = 'orange', #数据点的颜色
mec = 'lightgreen', #数据点边缘的颜色
capsize=8, #误差棒边界横杠大小
capthick=1, #误差棒边界横杠的厚度
)
带误差棒的柱状图
#带误差棒的柱状图
x = np.arange(5)
y = [66,88,55,99,123]
err = [5,9,6,10,7]
err_attri = dict(elinewidth=2,ecolor="blue",capsize=3)
plt.bar(x,y,
color = 'lightblue',width=0.6,align="center",
yerr = err,
error_kw = err_attri)
散点图
#plt.scatter()绘制散点图
import matplotlib as mpl
a = np.random.randn(50)
b = np.random.randn(50)
plt.scatter(a,b,s=np.power(10*a+20*b,2),
c=np.random.rand(50),
cmap=mpl.cm.RdYlBu)
子图
plt.subplot(221)将纸分成2×2的4份取第一份
plt.subplot(222)将纸分成2×2的4份取第二份
plt.subplot(212)分成2×1的两份取第二份
要分图先想好分成几份,想象是在一张大白纸上,先按最小的块数分,然后再拼接引入参数rowspan是连着行的份数,colspan是连着列的份数
ax1 = plt.subplot2grid((3,3),(0,1))
ax2 = plt.subplot2grid((3,3),(1,1))
ax3 = plt.subplot2grid((3,3),(0,0),rowspan=3)
ax4 = plt.subplot2grid((3,3),(2,0),colspan=2)
ax5 = plt.subplot2grid((3,3),(0,1),rowspan=2)
总共分成3×3,ax1就是第1行第1列,ax2就是第2行第1列,ax3是第1行第3列数3行小份连起来的一大份,ax4是第3行第1列数2列小份连起来的大份,ax5是第1行第2列数2行小份连起来的大份