在开始前,我们需要安装数据可视化的 Python 第三方库 Matplotlib ,以及用于造测试数据的 Numpy 。安装 Matplotlib : pip install matplotli
; 安装 Numpy : pip install numpy
。安装之后,导入即可使用。
import matplotlib.pyplot as plt
# 设置样式
plt.style.use('ggplot')
import numpy as np
箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。箱形图于 1977 年由美国著名统计学家约翰·图基(John Tukey)发明。它能显示出一组数据的最大值、最小值、中位数、及上下四分位数、异常值。
np.random.seed(seed=0)
# 从“标准正态”分布返回一个(或多个)样本。
x = np.random.randn(1000)
y = np.random.randn(100)
z = np.random.randn(10)
fig, ax = plt.subplots()
ax.boxplot((x, y, z), vert=False, showmeans=True, meanline=True,
labels=('x', 'y', 'z'), patch_artist=True,
medianprops={'linewidth': 2, 'color': 'purple'},
meanprops={'linewidth': 2, 'color': 'red'})
plt.show()
直方图又名等距直方图,它是以矩形的面积来表示连续性随机变量次数分布的图形。
hist, bin_edges = np.histogram(x, bins=10)
fig, ax = plt.subplots()
ax.hist(x, bin_edges, cumulative=False)
ax.set_xlabel('x')
ax.set_ylabel('Frequency')
plt.show()
圆形统计图是用圆形内扇形面积的大小来说明总体结构的图形。所要显示的资料多以相对数(如百分数)为主。
x, y, z = 128, 256, 1024
fig, ax = plt.subplots()
ax.pie((x, y, z), labels=('x', 'y', 'z'), autopct='%1.1f%%')
plt.show()
条形图主要用于表示离散型的数学资料,即计数资料。它是以条形长短或高度表示各事物间的数量大小与数量之间的差异情况。
x = np.arange(21)
y = np.random.randint(21, size=21)
fig, ax = plt.subplots()
ax.bar(x, y)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()
散点图,又称点图,它是以圆点的大小,以及大小圆点的多少或疏密表示统计资料数量大小和变化趋势的图。它通过圆点分布的形态可以表示两种现象间的相关程度。
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N))**2 # 0 to 15 point radii
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()