利用matplotlib库中面向对象API绘制直方图,饼图,散点图,误差图

一、绘制直方图

1、使用hist()绘制直方图

hist()函数语法:

hist(xbins=Nonerange=Nonedensity=Falseweights=Nonecumulative=Falsebottom=Nonehisttype='bar'align='mid'orientation='vertical'rwidth=Nonelog=Falsecolor=Nonelabel=Nonestacked=False*data=None**kwargs)

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

range:表示数据范围

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

histtype:表示直方图的类型

align:表示矩形边界的对齐方式,默认‘mid’

orientatio:表示矩形条的摆放方式,默认‘vertical’(垂直方向)

rwidth:表示矩形条宽度的百分比,默认为0

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

1.1 示例代码:

#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
x = np.random.randint(0,100,50)
#绘制直方图
plt.hist(x,bins=8,histtype='stepfilled')

运行结果:

2、绘制灰度直方图

2.1 示例代码:

#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
random_statel = np.random.RandomState(19680801)
random_x1 = random_statel.randn(10000)
#绘制灰度直方图
plt.hist(random_x1,bins=25)
plt.show()

运行结果:

二、绘制饼图或圆环图

1、使用pie()绘制饼图或圆环图

pie()函数语法:

pie(xexplode=Nonelabels=Nonecolors=Noneautopct=Nonepctdistance=0.6shadow=Falselabeldistance=1.1startangle=0radius=1counterclock=Truewedgeprops=Nonetextprops=Nonecenter=(0, 0)frame=Falserotatelabels=False*normalize=Truehatch=Nonedata=None)

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

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

autopct:表示控制扇形或楔形的数值显示的字符串

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

shadow:表示是否显示阴影

labeldistance:表示标签文本的绘制位置,默认1.1

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

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

wedgeprops:表示控制扇形或楔形属性的字典

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

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

frame:表示是否显示图框

1.1 示例代码:

#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
data = np.array([20,50,10,15,30,55])
#绘制扇形对应标签文本
pie_labels = np.array(['A','B','C','D','E','F'])
#绘制饼图
plt.pie(data,radius=1.5,labels=pie_labels,autopct='%3.1f%%')
plt.show()

运行结果:

2.绘制圆环图

2.1 示例代码:

#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
data = np.array([20,50,10,15,30,55])
#绘制扇形对应标签文本
pie_labels = np.array(['A','B','C','D','E','F'])
#绘制圆环图
plt.pie(data,radius=1.5,wedgeprops={'width':0.7},labels=pie_labels,autopct='%3.1f%%',pctdistance=0.75)
plt.show()

运行结果:

三、绘制散点图或气泡图

1、使用scatter()绘制散点图和气泡图

scatter()函数语法:

scatter(xys=Nonec=Nonemarker=Nonecmap=Nonenorm=Nonevmin=Nonevmax=Nonealpha=Nonelinewidths=None*edgecolors=Noneplotnonfinite=Falsedata=None**kwargs)

x,y:表示数据点的位置

s:表示数据点的大小

表c:表示数据点的颜色

marker:表示数据点的样式,默认为圆形

cmap:表示数据点的颜色映射表,仅当参数c为浮点数组时才使用

norm:表示数据亮度,可以取值为0-1

vmin,vmax:表示亮度的最小值和最大值,若传入了norm函数,则忽略vmin,vmax函数

alpha:表示透明度,可以取值为0-1

linewidths:表示数据点边缘的宽度

edgecolors:表示数据点边缘的颜色

1.1 示例代码:

#导入模块
import matplotlib.pyplot as plt
import numpy as np
#设置中文
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
num = 50
x = np.random.rand(num)
y = np.random.rand(num)
#绘制散点图
plt.scatter(x,y)
plt.show()

运行结果:

2.绘制气泡图

示例代码:

#导入模块
import matplotlib.pyplot as plt
import numpy as np
#设置中文
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
num = 50
x = np.random.rand(num)
y = np.random.rand(num)
#每一个散点权重
area = (30*np.random.rand(num))**2
#绘制气泡图
plt.scatter(x,y,s=area,c='red',alpha=0.6)
plt.show()

运行结果:

四、绘制误差棒图

1、使用errorbar()绘制误差棒图

errorbar()函数语法:

errorbar(xyyerr=Nonexerr=Nonefmt=''ecolor=Noneelinewidth=Nonecapsize=Nonebarsabove=Falselolims=Falseuplims=Falsexlolims=Falsexuplims=Falseerrorevery=1capthick=None*data=None**kwargs)

x,y:表示数据点的位置

xerr,yerr:表示数据的误差范围

fmt:表示数据点的标记样式和数据点之间连接线的样式

ecolor:表示误差棒的线条颜色

elinewidth:表示误差帮的线条宽度

capsize:表示误差棒边界横杆的大小

capthick:表示误差棒边界横杆的厚度

1.1 示例代码:

#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
x = np.arange(5)
y = (25,32,34,20,25)
y_offset = (3,5,2,3,3)
#绘制误差棒图
plt.errorbar(x,y,yerr=y_offset,capsize=3,capthick=2)
plt.show()

运行结果:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值