2.8Python 数据可视化----使用 matplotlib 绘制简单图

2.8 绘制箱形图

2.8.1 使用 boxplot() 绘制箱形图

使用 pyplot 的 boxplot() 函数可以快速绘制箱形图,boxplot() 函数的语法格式如下所示 :
boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None,

      widths=None, patch_artist=None, bootstrap=None, usermedians=None,

   conf_intervals=None, meanline=None, showmeans=None, showcaps=None,
       showbox=None, showfliers=None, boxprops=None, labels=None,
       flierprops=None, medianprops=None, meanprops=None, capprops=None,
       whiskerprops=None, manage_ticks=True, autorange=False,
       zorder=None, * , data=None)
该函数常用参数的含义如下 :
·x :绘制箱形图的数据。
·sym :表示异常值对应的符号,默认为空心圆圈。
·vert :表示是否将箱形图垂直摆放,默认为垂直摆放。
·whis :表示箱形图上下须与上下四分位的距离,默认为 1.5 倍的四分位差。
·positions :表示箱体的位置。
·widths :表示箱体的宽度,默认为 0.5。
·patch_artist :表示是否填充箱体的颜色,默认不填充。
·meanline :是否用横跨箱体的线条标出中位数,默认不使用。
·showcaps :表示是否显示箱体顶部和底部的横线,默认显示。
·showbox :表示是否显示箱形图的箱体,默认显示。
·showfliers :表示是否显示异常值,默认显示。
·labels :表示箱形图的标签。
·boxprops :表示控制箱体属性的字典。
使用 boxplot() 函数绘制一个箱形图,代码如下。
In [22]:
import numpy as np
import matplotlib.pyplot as plt
data = np.random.randn(100)
# 绘制箱形图 : 显示中位数的线条, 箱体宽度为 0.3 , 填充箱体颜色, 不显示异常值
plt.boxplot(data, meanline=True, widths=0.3, patch_artist=True,
         showfliers=False)
plt.show()
运行程序,效果如图 2-20 所示。
2.8.2 实例 8 :2017 年和 2018 年全国发电量统计
“中国报告大厅”网站对 2017 年和 2018 年的发电量分别进行了监测统计,结果如表 2-7
所示。
根据表 2-7 的数据,将“发电量(亿千瓦·时)”两列的数据作为 x 轴的数据,将“2017
年”和“2018 年”作为 y 轴的刻度标签,使用 boxplot() 函数绘制 2017 年和 2018 年全国发电
量的箱形图,具体代码如下。
In [23]:
# 08_generation_capacity
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
data_2018 = np.array([5200, 5254.5, 5283.4, 5107.8, 5443.3, 5550.6,
              6400.2, 6404.9, 5483.1, 5330.2, 5543, 6199.9])
data_2017 = np.array([4605.2, 4710.3, 5168.9, 4767.2, 4947, 5203,
              6047.4, 5945.5, 5219.6, 5038.1, 5196.3, 5698.6])
# 绘制箱形图
plt.boxplot([data_2018, data_2017], labels=('2018 ', '2017 '),
          meanline=True, widths=0.5, vert=False, patch_artist=True)
plt.show()
运行程序,效果如图 2-21 所示。
图 2-21 中, x 轴代表发电量, y 轴代表年份,箱体代表集中的数据范围,箱体内部的竖
线代表中位数,箱形左右边缘的竖线代表最小值与最大值,右边缘竖线右侧的空心圆圈代表
异常值。由图 2-21 可知,2017 年每月的发电量大多分布于 4800 亿~ 5300 亿千瓦·时范围内,
2018 年每月的发电量大多分布于 5250 亿~ 5700 亿千瓦·时范围内。

猜你喜欢

转载自blog.csdn.net/qq_43416206/article/details/132262507