专栏首页生物信息学、python、R、linuxSeaborn入门(一): 实现Boxplot

Seaborn入门(一): 实现Boxplot

箱型图也是我们常用的图之一,如何用Seaborn实现箱型图呢?

与之相关的函数seaborn.boxplot的具体参数为: seaborn.boxplot(x=None, y=None, hue=None, data=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)

所提供的data是DataFrame, array, 或者 list of arrays,提供x, y也可。 hue提供分组变量。 order可以修改box的次序。 palatte给定调色板,也可以给自己的颜色列表。 orient给出box是是垂直的还是平行的,orient = 'h'是修改为平行的,'v'是垂直的。

来看几个例子:

import seaborn as sns
# sns.set(style="whitegrid")
tips = sns.load_dataset("tips")
tips.head(5)

\ total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4

ax = sns.boxplot(x=tips["total_bill"])
# 或者
ax = sns.boxplot(x="total_bill", data = tips)

default boxplot

对两列作图:

ax = sns.boxplot(x="day", y="total_bill", data=tips)

vertical boxplot

分组画图,并设置颜色:

ax = sns.boxplot(x="day", y="total_bill", hue="smoker",
                 data=tips, palette="Set3")

grouping

order参数修改box的次序:

ax = sns.boxplot(x="time", y="tip", data=tips,
                 order=["Dinner", "Lunch"])

ordering

平行的box:

iris = sns.load_dataset("iris")
ax = sns.boxplot(data=iris, orient="h", palette="Set2")

horizontal.png

sns.swarmplot显示出所有的点:

ax = sns.boxplot(x="day", y="total_bill", data=tips)
ax = sns.swarmplot(x="day", y="total_bill", data=tips, color=".25")

swarmplot

sns.catplot分面,并修改颜色:

g = sns.catplot(x="sex", y="total_bill",
                hue="smoker", col="time",
                data=tips, kind="box",
                palette=["#ECFC00", "#7E07A9"], 
                height=4, aspect=.7)

catplot

欢迎关注公众号~

生信编程日常

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Seaborn入门(二): 实现Boxenplot

    Boxenplot可以看做是加强版的Boxplot,适用于大数据,能更方便真实的反应数据情况。这种图原来叫做“letter value” plot,是用分位数来...

    生信编程日常
  • Seaborn入门(四)实现scatterplots

    seaborn中实现scatterplot的主要参数 seaborn.catplot(x=None, y=None, hue=None, data=None,...

    生信编程日常
  • python (Seaborn) 实现heatmap

    seaborn.clustermap(data, pivot_kws=None, method='average', metric='euclidean', z...

    生信编程日常
  • python练习题-day8

    f1.write("每天坚持一点,\n每天努力一点,\n每天多思考一点,\n慢慢你会发现,\n你的进步越来越大。") e、将原文件内容全部读取出来,并...

    郭耀华
  • Pandas简单入门 1

    我是从16年开始学习Python的,在使用Python最开始的一段时间,基本是操作list列表和dict字典两个简单的数据结构,后来接触数据的特征越来越多,发现...

    阿凡亮
  • python argparse处理命令行参数

    对于脚本编程而言,经常需要从命令行传递参数到脚本中。对于命令行参数的定义和使用,有一套完整的规则,以linux上的ls命令为例

    生信修炼手册
  • matplotlib 箱线图

    箱线图,是指—种描述数据分布的统计图,是表述数据的第一四分位数、中位数、第三四分位数与异常值(离群值)的一种图形方法。它也可以粗略地看出数据是否具有对称性,分布...

    用户6021899
  • 九彩拼盘的前端技能

    Joel
  • 一文详尽系列之CatBoost

    CatBoost是俄罗斯的搜索巨头Y andex在2017年开源的机器学习库,也是Boosting族算法的一种,同前面介绍过的XGBoost和LightGBM类...

    Datawhale
  • 理解Python中的NoneType对象

    在C、Java等类型的语言中,都有null,它常常被定义为与0等效。但是,在Python中并非如此。Python中用关键词None表征null对象,它并不是0,...

    老齐

扫码关注云+社区

领取腾讯云代金券