1.首先,使用dataframe.boxplot()画图时
参数参考pandas.dataframe
dataframe.boxplot(column = none, by = none,ax = none, fontsize = none, rot = 0,grid = true, figsize = none, layout = none, return_type = none,** kwds )
参数说明:
column:str或str的列表,可选列名或名称列表或向量。可以是任何有效的输入 pandas.dataframe.groupby()。by:str或array-like,可选dataframe中的列 pandas.dataframe.groupby()。一箱线图将每列的值来完成的。ax:类matplotlib.axes.axes的对象,可选由boxplot使用的matplotlib轴。fontsize:float或str以标记或字符串(例如,大)标记标签字体大小。rot:int或float,默认为0标签的旋转角度(以度为单位)相对于屏幕坐标系。grid:布尔值,默认为true将此设置为true将显示网格。figsize:以英寸为单位的元组(宽度,高度)在matplotlib中创建的图形的大小。layout:元组(行,列),可选例如,(3,5)将从左上角开始使用3列和5行显示子图。return_type:{'axes','dict','both'}或none,默认'axes'要返回的那种对象。默认是axes。
'axes'返回绘制boxplot的matplotlib轴。
'dict'返回一个字典,其值是boxplot的matplotlib行。
'both'返回一个带有轴和dict的namedtuple。分组时by,return_type返回一系列映射列 。
如果return_type为none,layout则返回具有相同形状的numpy轴阵列。
** kwds要传递给所有其他绘图关键字参数 matplotlib.pyplot.boxplot()。
2.同时经对比后发现
参数不仅可以使用以上列出的,还可以箱线图参数
dataframe.boxplot(sym=‘.', vert = true, whis = 1.5, patch_artist = true, meanline = false, showmeans = true, showcaps = true, notch = false, return _type= 'dict')
参数说明:
sym:表示异常点形状vert:是否垂直,箱线图是横向的(false),还是竖向的(true)whis:默认1.5,也可以设置区间比如[5,95],代表强制上下边缘为数据95%和5%的位置patch_artist:上下四分位框内是否填充,true是填充meanline:是否用线的形式表示均值,默认用点表示showmeans:是否显示均值,默认不显示shoubox:是否显示边缘线,箱线图顶端和末端的两条线默认显示showfliers:是否显示异常值notch:中间箱体是否缺口return_type:返回类型positions:指定箱线图的位置widths:指定箱线图的宽度,默认为0.5
3.比如我画的箱线图
plt.figure(figsize=(11.5, 6.5)) cop_df.boxplot(showmeans=true, fontsize=8, notch = true, sym = '.', grid=false)

用jupyter画的图,最开始保存下来的图已经被我删了…
能看到右上角有一个灰色的小框,不知道为什么就出现了
解决办法:
调整图像大小,如下图:

plt.figure(figsize=(9.5, 6.5)) df.boxplot(showmeans=true, fontsize=7, notch = true, sym = '.', grid=false)
参数解释:
通过showmeans=true设置出现平均值,默认为三角形,通过fontsize=7设置坐标轴字体大小。
- 设置
notch = true设置箱体中位线的地方收回 - 设置
sym = '.'异常点的形状为小圆点 - 设置
grid=false不要图中的网格
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论