Matplotlib 绘图-2

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

  Matplotib主要用于绘制2D图表的Python库,通过Matplotlib, 开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。它支持numpy、pandas的数据结构,具有丰富的绘制图表、定制图表元素(图例、注释文本、表格等)或样式(如颜色、字体、线型等)的功能,可以帮助开发人员轻松获得高质量的图表。


一、饼状图

使用pyplot的pie()函数可以快速地绘制饼图或圆环图,pie() 函数的语法格式如下所示:

pie(x, explode=None, labels=None, autopct=None,pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None,radius=None, counterclock=True, wedgeprops=None, textprops=None,center=(0,0), frame-False, rotatelabels=False, *, data=None)

该函数常用参数的含义如下

x:表示扇形或楔形的数据

explode: 表示扇形或楔形离开圆心的距离

labels:表示扇形或楔形对应的标签文本

autopct: 表示控制扇形或楔形的数值显示的字符串,可通过格式字符串指定小数点后的位数%3.2f%%【autopct='%.2f%%': %.2f表示在饼图上输出浮点数并保留两位小数。%%表示直接输出一个%.】

pctdistance:表示扇形或楔形对应的数值标签距离圆心的比例,默认为0.6

shadow:表示是否显示阴影。

labeldistance:表示标签文本的绘制位置( 相对于半径的比例),默认为1:1。

startangle:表示起始绘制角度,默认从x轴的正方向逆时针绘制。

radius:表示扇形或楔形的半径。

wedgeprops:表示控制扇形或楔形属性的字典。例如,通过wedgeprops = {'width': 0.7}将楔形的宽度设为 0.7。

textprops:表示控制图表中文本属性的字典。

center:表示图表的中心点位置,默认为(0,0)。

frame :表示是否显示图框。

饼形图

import numpy as np
import matplotlib.pyplot as plt

x=np.array([10,30,55,25,60,45,20])

pie_labels=np.array(['a','b','c','d','e','f','g'])

#labels表示扇形或楔形对应的标签文本;autopct表示控制扇形或楔形的数值显示的字符串;
#radius表示扇形或楔形的半径。
plt.pie(x,labels=pie_labels,autopct="%.2f%%",radius=2)

plt.show()

import numpy as np
import matplotlib.pyplot as plt

x=np.array([10,30,55,25,60,45,20])

pie_labels=np.array(['a','b','c','d','e','f','g'])

#labels表示扇形或楔形对应的标签文本;autopct表示控制扇形或楔形的数值显示的字符串;
#radius表示扇形或楔形的半径。
#shadow=True表示显示阴影;explode=[0,0.4,0,0,0,0,0]表示b向外形离开圆心的距离
plt.pie(x,labels=pie_labels,autopct="%.2f%%",radius=2,shadow=True,explode=[0,0.4,0,0,0,0,0])

plt.show()

二、环形图

使用pyplot的pie()函数可以快速地绘制饼图或圆环图,pie() 函数的语法格式如下所示:

pie(x, explode=None, labels=None, autopct=None,pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None,radius=None, counterclock=True, wedgeprops=None, textprops=None,center=(0,0), frame-False, rotatelabels=False, *, data=None)

该函数常用参数的含义如下

x:表示扇形或楔形的数据

explode: 表示扇形或楔形离开圆心的距离

labels:表示扇形或楔形对应的标签文本

autopct: 表示控制扇形或楔形的数值显示的字符串,可通过格式字符串指定小数点后的位数%3.2f%%【autopct='%.2f%%': %.2f表示在饼图上输出浮点数并保留两位小数。%%表示直接输出一个%.】

pctdistance:表示扇形或楔形对应的数值标签距离圆心的比例,默认为0.6

shadow:表示是否显示阴影。

labeldistance:表示标签文本的绘制位置( 相对于半径的比例),默认为1:1。

startangle:表示起始绘制角度,默认从x轴的正方向逆时针绘制。

radius:表示扇形或楔形的半径。

wedgeprops:表示控制扇形或楔形属性的字典。例如,通过wedgeprops = {'width': 0.7}将楔形的宽度设为 0.7。

textprops:表示控制图表中文本属性的字典。

center:表示图表的中心点位置,默认为(0,0)。

frame :表示是否显示图框。

环形图

import numpy as np
import matplotlib.pyplot as plt

x=np.array([10,30,55,25,60,45,20])
pie_labels=np.array(['a','b','c','d','e','f','g'])

#labels表示扇形或楔形对应的标签文本;autopct表示控制扇形或楔形的数值显示的字符串;
#radius表示扇形或楔形的半径。
#wedgeprops将楔形的宽度设为0.7;pctdistance:表示扇形或楔形对应的数值标签距离圆心的比例,默认为0.6
plt.pie(x,labels=pie_labels,autopct="%.2f%%",radius=2,wedgeprops={'width':0.8},pctdistance=1.2)

plt.show()

三、面积图

pyplot 的stackplot()函数:

stackplot(x, y, labels=() ,baseline='zero', data=None, *args, **kwargs)

该函数常用参数的含义如下。

x: 表示x轴的数据,可以是一维数组。

y:表示y轴的数据,可以是二维数组或一维数组序列。

labels :表示每组折线及填充区域的标签。

baseline :表示计算基线的方法,包括'zero'、 'sym'、 'wiggle'和'weighted_ wiggle'。 其中,'zero'表示恒定 零基线,即简单的堆积图; 'sym'表示对称于零基线; 'wiggle' 表示最小化平方斜率的总和; 'weighted _wiggle' 表示执行相同的操作,但权重用于说明每层的大小。

面积图

import numpy as np
import matplotlib.pyplot as plt

x=np.arange(6)

y1=np.array([1,2,4,6,5,3])
y2=np.array([2,5,3,5,7,8])
y3=np.array([3,6,7,3,6,8])

plt.stackplot(x,y1,y2,y3)
plt.show()

 四、直方图

使用pyplot的hist()函数可以快速绘制直方图,hist()函数的语法格式如下所示:

hist(x, bins=None, range=None, density=None, weights=None, cumulative=False,
bottom=None, histtype='bar', align='mid' ,orientation= 'vertical', rwidth=None,
log=False, label=None,stacked=False, normed=None, *, data=None, **kwargs)

该函数常用参数的含义如下:

x:表示x轴的数据,可以为单个数组或多个数组的序列。

bins :表示矩形条的个数,默认为10。

range: 表示数据的范围。若没有提供range参数的值,则数据范围为(x.min(), x.max())

cumulative: 表示是否计算累计频数或频率。

histtype:表示直方图的类型,支持"bar'、'barstacked'、 'step'、 'stepfilled' 四种取值,其中'bar'为默认 值,代表传统的直方图; 'barstacked'代表堆积直方图; 'step'代表未填充的线条直方图; 'stepfilled'代表填充 的线条直方图。

align: 表示矩形条边界的对齐方式,可设置为'left'、'mid' 或'right', 默认为'mid'。

orientation: 表示矩形条的摆放方式,默认为'vertical', 即垂直方向。

rwidth :表示矩形条宽度的百分比,默认为0。若histtype 的值为'step'或stepfilled 则直接忽略rwidth参数的 值。

stacked:表示是否将多个矩形条以堆积形式摆放。

直方图

import numpy as np
import matplotlib.pyplot as plt

#1-100区间内随机取50个
x=np.random.randint(1,100,50)

#bins默认值为10,这里取值8
plt.hist(x,bins=8,histtype="stepfilled")
plt.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值