可视化是数据分析的主要内容,其中图形是可视化的主要方式。本节将从基础统计图形函数的功能、调用方式、参数说明和代码展示来探索统计函数的基本使用方法。由于不可能涉及到所有方面,如果有不全之处,可以评论或者网上查询。
1 bar()函数——柱状图
函数功能:在x轴上绘制定性数据的分布特征
调用方式:plt.bar(x, y)
参数说明:
x:标识在x轴上的定性数据类别
y:每种定性数据的数量
代码展示:
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:填充项,一般使用'/'作为填充
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:每种定性数据的数量
代码展示:
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轴上的定量数据
代码展示:
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:定性数据不同类别的百分比
代码展示:
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:每个标记到原点的距离
代码展示:
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:将浮点数映射成颜色的颜色映射表
代码展示:
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:指定基线样式
代码展示:
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:序列数据
代码展示:
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轴方向数据点的误差计算方法
代码展示:
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()
本文分享自 python数据可视化之美 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!