seaborn:箱型图修改离群点颜色、形状

在用seaborn画图时遇到个问题,记录一下解决问题的过程,只想看结果的,请跳到【实际效果】

目录

问题描述  

解决思路

实际效果


问题描述  

import matplotlib.pyplot as plt
import seaborn as sns

tips = sns.load_dataset("tips")
ax = sns.boxplot(data=tips)

seaborn:箱型图修改离群点颜色、形状_第1张图片


        使用seaborn绘制 箱型图时,离群点的颜色默认为黑,不甚显眼,于是想修改离群点颜色,但是一看seaborn.boxplot() 的参数:

seaborn.boxplot(data=None, *, x=None, y=None, hue=None, 
    order=None, hue_order=None, orient=None, color=None, 
    palette=None, saturation=0.75, width=0.8, dodge=True, 
    fliersize=5, linewidth=None, whis=1.5, ax=None, **kwargs)

其中,唯一和离群点有关的参数,是fliersize,用于控制离群点的大小。 


解决思路

1.首先是在网上搜索“seaborn画箱型图更改离群点颜色”,果不其然没什么帮助。

2.于是,改搜索“画箱型图更改离群点颜色”,这次跳出一些结果,说的是用matplotlib画箱型图,如何设置离群点参数,简单来说,matplotlib画箱型图是可以设置离群点颜色的。

3.我们知道,seaborn的基础是matplotlib,并且很多功能的实现必须借助matplotlib,完全可以向seaborn传递matplotlib的绘图参数。于是打开matplotlib官方文档,点开pyplot.boxplot:

seaborn:箱型图修改离群点颜色、形状_第2张图片

可以看到设置离群点格式的参数是flierprops,要求传入字典,想知道字典里面有哪些可选参数,直接在搜索框搜索flierprops

seaborn:箱型图修改离群点颜色、形状_第3张图片

 看到第二个搜索结果中,似乎有应用范例,点进去,Ctrl+F搜索关键词

seaborn:箱型图修改离群点颜色、形状_第4张图片

看到flierprops传入了四个参数(离群点的标记形状、点内填充色、点的大小、点边缘颜色)

至此,问题基本解决,来检验一下


实际效果

import matplotlib.pyplot as plt
import seaborn as sns

tips = sns.load_dataset("tips")
ax = sns.boxplot(data=tips, flierprops = dict(
    marker='o', markerfacecolor='red', markersize=4, markeredgecolor='none'))

seaborn:箱型图修改离群点颜色、形状_第5张图片

你可能感兴趣的:(绘图,数据处理,python,matplotlib)