前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用统计函数绘制简单图形

使用统计函数绘制简单图形

作者头像
python数据可视化之路
发布2023-02-23 21:11:37
6960
发布2023-02-23 21:11:37
举报

可视化是数据分析的主要内容,其中图形是可视化的主要方式。本节将从基础统计图形函数的功能、调用方式、参数说明和代码展示来探索统计函数的基本使用方法。由于不可能涉及到所有方面,如果有不全之处,可以评论或者网上查询。

1 bar()函数——柱状图

函数功能:在x轴上绘制定性数据的分布特征

调用方式:plt.bar(x, y)

参数说明:

x:标识在x轴上的定性数据类别

y:每种定性数据的数量

代码展示:

代码语言:javascript
复制
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] #控制中文字体正常显示,可以设置字体
mpl.rcParams['axes.unicode_minus'] = True  #用来正常显示正负号
x = [1, 2, 3, 4, 5, 6, 7, 8]
y = [3, 1, 4, 3, 10, 12, 7, 11]
plt.bar(x, y)
plt.show()

另外的,在plt.bar()中的其他参数如下:

align:确定对齐方向,一般居中对齐,值为'center',为默认值,也是推荐值

color:柱体颜色,可以用颜色名称,也可以用十六进制颜色值

tick_label:x轴的标签,参数是一个列表

hatch:填充项,一般使用'/'作为填充

代码语言:javascript
复制
plt.bar(x, y, align = 'center', color = '#00ffff', tick_label = ['q', 'a', 'b', 'c', 'd', 'e', 'j', 'k'] ,hatch = '/')
plt.xlabel('箱子编号')
plt.ylabel('箱子重量(kg)')

2 barh()——条形图

函数功能:在y轴上绘制定性数据的分布特征

调用方式:plt.barh(x, y)

参数说明:

x:标识在x轴上的定性数据类别

y:每种定性数据的数量

代码展示:

代码语言:javascript
复制
plt.barh(x, y, align = 'center', color = '#00ffff', tick_label = ['q', 'a', 'b', 'c', 'd', 'e', 'j', 'k'] ,hatch = '/')
plt.xlabel('箱子编号')
plt.ylabel('箱子重量(kg)')
plt.show()

3 hist()——直方图

函数功能:在x轴上绘制定量数据的分布特征

调用方式:plt.barh(x)

参数说明:

x:标识在x轴上的定量数据

代码展示:

代码语言:javascript
复制
box_weight = np.random.randint(0, 10, 100) #随机生成100个箱子的重量
x = box_weight
bins = range(0, 11, 1) #根据箱子重量进行分类
plt.hist(x, bins = bins, color = '#00ffff', histtype = 'bar', rwidth = 20, alpha = 0.5) #统计不同类别箱子重量的个数
plt.xlabel('箱子重量(kg)')
plt.ylabel('箱子数量(个)')
plt.show()

4 pie()——饼图

函数功能:绘制定性数据的不同类别的百分比

调用方式:plt.pie(x)

参数说明:

x:定性数据不同类别的百分比

代码展示:

代码语言:javascript
复制
kinds = ['优秀', '良好', '及格', '不合格'] 
colors = ['#00ff00', '#ffff00', '#00ffff', '#ff0000']
score_level = [0.03, 0.35, 0.42, 0.2]
plt.pie(score_level, labels = kinds, autopct = '%3.1f%%', startangle = 60, colors = colors)
plt.title('不同成绩级别分布情况')
plt.show()

5 polar()——极线图

函数功能:在极坐标上绘制折线图

调用方式:plt.polar(theta, r)

参数说明:

theta:每个标记所在射线与极径的夹角

r:每个标记到原点的距离

代码展示:

代码语言:javascript
复制
bar_part = 12
theta = np.linspace(0.0, 2*np.pi, bar_part, endpoint = False)
r = 30*np.random.rand(bar_part)
plt.polar(theta, r, color = '#0000ff', linewidth = 0, marker = '*', mfc = 'b', ms = 10)
plt.show()

6 scatter()——气泡图

函数功能:二维数据借助气泡大小展示三维数据

调用方式:plt.scatter(x, y)

参数说明:

x:x轴上的数值

y:y轴上的数值

s:散点标记大小

c:散点标记颜色

cmap:将浮点数映射成颜色的颜色映射表

代码展示:

代码语言:javascript
复制
a = np.random.randn(100)
b = np.random.randn(100)
plt.scatter(a, b, s = np.power(10*a+20*b, 2), c = np.random.rand(100), cmap = mpl.cm.RdYlBu, marker = 'o')
plt.ylim(-4, 4) #设置y轴范围为-4到4
plt.show()

7 stem()——棉棒图

函数功能:绘制离散有序数据

调用方式:plt.stem(x, y)

参数说明:

x:指定棉棒的x轴基线上的位置

y:绘制棉棒长度

linefmt:棉棒样式

basefmt:指定基线样式

代码展示:

代码语言:javascript
复制
x = np.linspace(0.5, 2*np.pi, 20)
y = np.random.randn(20)
plt.stem(x, y, linefmt = '-.', markerfmt = 'o', basefmt='-')
plt.show()

8 boxplot()——箱线图

函数功能:绘制箱线图,可以识别异常值

调用方式:plt.stem(x)

参数说明:

x:序列数据

代码展示:

代码语言:javascript
复制
x = np.random.randn(1000)
plt.boxplot(x)
plt.xticks([1], ['随机数生成器'], fontsize = 15)
plt.ylabel('随机数值', fontsize = 15)
plt.title('随机数生成器的箱型图', fontfamily = 'KaiTi')
plt.grid(axis = 'y', ls = ':', lw = 1, color = 'gray', alpha = 0.5)
plt.show()

9 errorbar()——误差棒图

函数功能:绘制x方向或y方向的误差范围

调用方式:plt.errorbar(x, y, yerr = a, xerr = b)

参数说明:

x:数据点水平位置

y:数据点垂直位置

yerr:y轴方向数据点的误差计算方法

xerr:x轴方向数据点的误差计算方法

代码展示:

代码语言:javascript
复制
x = np.linspace(0.1, 0.6, 6)
y = np.exp(x)
xerr = np.random.randn(6)*0.01 #为每一个x值添加一个随机抖动误差
plt.errorbar(x, y, fmt = 'o:', color = '#000000' ,yerr = 0.2, xerr = xerr, capsize = 3) #fmt数据点与两点之间连接线的样式;capsize为误差棒边界横杠大小
plt.show()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python数据可视化之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档