失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python绘制箱线图-python 中箱线图绘制

python绘制箱线图-python 中箱线图绘制

时间:2023-04-08 07:55:11

相关推荐

python绘制箱线图-python 中箱线图绘制

一、箱线图图绘制参数详解

plt.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=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)

x:指定要绘制箱线图的数据

notch:是否以凹口的形式展现箱线图,默认非凹口

sym:指定异常点的形状,默认为+号显示

vert:是否需要将箱线图垂直摆放,默认垂直摆放

whis:指定上下须与上下四分位的距离,默认为1.5倍的四分位差

positions:指定箱线图的位置,默认为[0,1,2…]

widths:指定箱线图的宽度,默认为0.5

patch_artist:bool类型参数,是否填充箱体的颜色;默认为False

meanline:bool类型参数,是否用线的形式表示均值,默认为False

showmeans:bool类型参数,是否显示均值,默认为False

showcaps:bool类型参数,是否显示箱线图顶端和末端的两条线(即上下须),默认为True

showbox:bool类型参数,是否显示箱线图的箱体,默认为True

showfliers:是否显示异常值,默认为True

boxprops:设置箱体的属性,如边框色,填充色等

labels:为箱线图添加标签,类似于图例的作用

filerprops:设置异常值的属性,如异常点的形状、大小、填充色等

medianprops:设置中位数的属性,如线的类型、粗细等

meanprops:设置均值的属性,如点的大小、颜色等

capprops:设置箱线图顶端和末端线条的属性,如颜色、粗细等

whiskerprops:设置须的属性,如颜色、粗细、线的类型等

返回值:result

字典将箱形图的每个组成部分映射到matplotlib.lines.Line2D创建的实例列表。该词典具有以下键(假定垂直框图):

boxes:箱图的主体,显示四分位数和中位数的置信区间(如果启用)。

medians:每个框的中间的水平线。

whiskers:垂直线延伸到最极端的非异常数据点。

caps:晶须末端的水平线。

fliers:表示超出晶须(传单)的数据的点。

means:表示均值的点或线。

1 importpandas as pd2 importmatplotlib.pyplot as plt3 #读取数据

4 Sec_Buildings = pd.read_excel('sec_buildings.xlsx')5 #绘制箱线图

6 plt.boxplot(x = Sec_Buildings.price_unit, #指定绘图数据

7 patch_artist=True, #要求用自定义颜色填充盒形图,默认白色填充

8 showmeans=True, #以点的形式显示均值

9 boxprops = {'color':'black','facecolor':'steelblue'}, #设置箱体属性,如边框色和填充色

10 #设置异常点属性,如点的形状、填充色和点的大小

11 flierprops = {'marker':'o','markerfacecolor':'red', 'markersize':3},12 #设置均值点的属性,如点的形状、填充色和点的大小

13 meanprops = {'marker':'D','markerfacecolor':'indianred', 'markersize':4},14 #设置中位数线的属性,如线的类型和颜色

15 medianprops = {'linestyle':'--','color':'orange'},16 labels = [''] #删除x轴的刻度标签,否则图形显示刻度标签为1

17 )18 #添加图形标题

19 plt.title('二手房单价分布的箱线图')20 #显示图形

21 plt.show()

1 #二手房在各行政区域的平均单价

2 group_region = Sec_Buildings.groupby('region')3 avg_price = group_region.aggregate({'price_unit':np.mean}).sort_values('price_unit', ascending =False)4 print(avg_price)5 #通过循环,将不同行政区域的二手房存储到列表中

6 print(avg_price.index)7 region_price =[]8 for region inavg_price.index:9 region_price.append(Sec_Buildings.price_unit[Sec_Buildings.region ==region])10 #绘制分组箱线图

11 #print(region_price)

12 plt.boxplot(x =region_price,13 patch_artist=True,14 labels = avg_price.index, #添加x轴的刻度标签

15 showmeans=True,16 boxprops = {'color':'black', 'facecolor':'steelblue'},17 flierprops = {'marker':'o','markerfacecolor':'red', 'markersize':3},18 meanprops = {'marker':'D','markerfacecolor':'indianred', 'markersize':4},19 medianprops = {'linestyle':'--','color':'orange'}20 )21 #添加y轴标签

22 plt.ylabel('单价(元)')23 #添加标题

24 plt.title('不同行政区域的二手房单价对比')25 #显示图形

26 plt.show()

1 #绘制分组箱线图

2 sns.boxplot(x = 'region', y = 'price_unit', data =Sec_Buildings,3 order = avg_price.index, showmeans=True,color = 'steelblue',4 flierprops = {'marker':'o','markerfacecolor':'red', 'markersize':3},5 meanprops = {'marker':'D','markerfacecolor':'indianred', 'markersize':4},6 medianprops = {'linestyle':'--','color':'orange'}7 )8 #更改x轴和y轴标签

9 plt.xlabel('')10 plt.ylabel('单价(元)')11 #添加标题

12 plt.title('不同行政区域的二手房单价对比')13 #显示图形

14 plt.show()

如果觉得《python绘制箱线图-python 中箱线图绘制》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。