Python数据可视化(二)使用统计函数绘制简单图形

该文会讲解一些大家比较熟悉却又经常混淆的统计图形,掌握这些统计图形可以对数据可视化有一个深入理解,并正确使用。

2.1 函数 bar()——用于绘制柱状图

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

调用签名:plt.bar(x,y)。

参数说明

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

y:每种定性数据的类别的数量。

调用展示

(1)代码实现

# 使用的代码都是coding:utf-8的
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]
# create bar
plt.bar(x,y,align="center",color="r",tick_label=["A","B","C","D","E","F"
,"G","H"],hatch="\/")
# set x,y_axis label
plt.xlabel("箱子编号")
plt.ylabel("箱子重量(kg)")
plt.show()

(2)运行结果如图

2.2 函数 barh()——用于绘制条形图

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

调用签名:plt.barh(x,y)。

参数说明

x:标示在 y 轴上的定型数据的类别。

y:每种定性数据的类别的数量。

调用展示

(1)代码实现

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]
# create bar
plt.barh(x,y,align="center",color="r",tick_label=["q","a","c","e","r","j","b","P"],hatch="\/")
# 建立XY轴标签
plt.xlabel("箱子重量(kg)")
plt.ylabel("箱子编号")
plt.show()

(2)运行结果如图

2.3 函数 hist()——用于绘制直方图

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

调用签名:plt.hist(x)。

参数说明

x:在 x 轴上绘制箱体的定量数据输入值。

调用展示

(1)代码实现

# -*- coding:utf-8 -*-
import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
import matplotlib.pyplot as plt
import numpy as np
# set test scores
boxWeight = np.random.randint(1,10,100) # 箱子的重量
x = boxWeight
# plot histogram
bins = range(0,11,1)
plt.hist(x,bins=bins,
color="r",
histtype="bar",
rwidth=1,
alpha=0.6)
# set x,y-axis label
plt.xlabel("箱子重量(kg)")
plt.ylabel("销售数量(个)")
plt.show()

(2)运行结果如图

2.4 函数 pie()——用于绘制饼图

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

调用签名:plt.pie(x)。

参数说明

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

调用展示

(1)代码实现

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
kinds = "a","b","c","d"
colors = ["#e41a1c","#377eb8","#4daf4a","#984ea3"]
soldNums = [0.05,0.45,0.15,0.35]
#pie chart
plt.pie(soldNums,
labels=kinds,
autopct="%3.1f%%",
startangle=60,
colors=colors)
plt.title("abcd")
plt.show()

(2)运行结果如图

2.5 函数 polar()——用于绘制极线图

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

调用签名:plt.polar(theta,r)。

参数说明

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

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

调用展示

(1)代码实现

import matplotlib.pyplot as plt
import numpy as np
barSlices = 12
theta = np.linspace(0.0, 2*np.pi, barSlices, endpoint=False)
r = 30*np.random.rand(barSlices)
plt.polar(theta,r,
color="chartreuse",
linewidth=2,
marker="*",
mfc="r",
ms=12)
plt.show()

(2)运行结果如图

2.6 函数 scatter()——用于绘制气泡图

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

调用签名:plt.scatter(x,y)。

参数说明

x:x 轴上的数值。

y:y 轴上的数值。

s:散点标记的大小。

c:散点标记的颜色。

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

调用展示

(1)代码实现

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
a = np.random.randn(100)
b = np.random.randn(100)
# colormap:RdYlBu
plt.scatter(a,b,s=np.power(10*a+20*b,2),
c=np.random.rand(100),
cmap=mpl.cm.RdYlBu,
marker="o")
plt.show()

(2)运行结果如图

2.7 函数 stem()——用于绘制棉棒图

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

调用签名:plt.stem(x,y)。

参数说明

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

y:绘制棉棒的长度。

linefmt:棉棒的样式。

markerfmt:棉棒末端的样式。

basefmt:指定基线的样式。

调用展示

(1)代码实现

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.5,3*np.pi,25)
y = np.random.randn(25)
plt.stem(x,y,linefmt=".-",markerfmt="o",basefmt="-")
plt.show()

(2)运行结果如图

2.8 函数 boxplot()——用于绘制箱线图

函数功能:绘制箱线图。

调用签名:plt.boxplot(x)。

参数说明

x:绘制箱线图的输入数据。

调用展示

(1)代码实现

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["FangSong"]
mpl.rcParams["axes.unicode_minus"]=False
x = np.random.randn(1000)
plt.boxplot(x)
plt.xticks([1],["随机数生成器 AlphaRM"])
plt.ylabel("随机数值")
plt.title("随机数生成器抗干扰能力的稳定性")
plt.grid(axis="y",ls=":",lw=1,color="r",alpha=0.4)
plt.show()

(2)运行结果如图

2.9 函数 errorbar()——用于绘制误差棒图

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

调用签名:plt.errorbar(x,y,yerr=a,xerr=b)。

参数说明

x:数据点的水平位置。

y:数据点的垂直位置。

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

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

调用展示

(1)代码展示

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1,1.2,6)
y = np.exp(x)
plt.errorbar(x,y,fmt="bo:",yerr=0.3,xerr=0.03)
plt.xlim(0,0.7)
plt.show()

(2)运行结果如图

参考资料:《Python 数据可视化之 matplotlib 实践》第二章

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值