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 npimport matplotlib.pyplot as pltdata = 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_capacityimport numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus'] = Falsedata_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 亿千瓦·时范围内。
2.8Python 数据可视化----使用 matplotlib 绘制简单图
猜你喜欢
转载自blog.csdn.net/qq_43416206/article/details/132262507
今日推荐
周排行