增强箱图又称增强盒形图,可以为大数据集绘制增强的箱图。 增强箱图通过绘制更多的分位数来提供数据分布的信息。
案例代码已上传:Github地址
import seaborn as sns import matplotlib.pyplot as plt sns.set(style="whitegrid") # 读取数据 tips = sns.load_dataset("tips") """ 案例1: 绘制一个简单的水平增强箱图 """ sns.boxenplot(x=tips["total_bill"]) plt.show() import seaborn as sns import matplotlib.pyplot as plt sns.set(style="whitegrid") # 读取数据 tips = sns.load_dataset("tips") """ 案例2: 根据数据实际情况,通过设置x和y来对数据进行分组 """ sns.boxenplot(x="day", y="total_bill", data=tips) plt.show() import seaborn as sns import matplotlib.pyplot as plt sns.set(style="whitegrid") # 读取数据 tips = sns.load_dataset("tips") """ 案例3: 通过设置hue对分组数据进行第二次分类(通过颜色区别) 注意:在增强箱图中,对hue设置后的第二次分类的效果是分离 """ sns.boxenplot(x="day", y="total_bill", hue="smoker", data=tips, palette="Set3") plt.show() import seaborn as sns import matplotlib.pyplot as plt sns.set(style="whitegrid") # 读取数据 tips = sns.load_dataset("tips") """ 案例4: 当某些箱为空时,绘制带有嵌套分组的增强箱图 """ sns.boxenplot(x="day", y="total_bill", hue="time", data=tips, linewidth=2.5) plt.show() import seaborn as sns import matplotlib.pyplot as plt sns.set(style="whitegrid") # 读取数据 tips = sns.load_dataset("tips") """ 案例5: 通过设置order来显式指定分类顺序 order=[字段变量名1,字段变量名2,...] """ sns.boxenplot(x="time", y="tip", data=tips, order=["Dinner", "Lunch"]) plt.show() import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="whitegrid") # 构建数据 iris = sns.load_dataset("iris") """ 案例 a """ iris[:5] import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="whitegrid") # 构建数据 iris = sns.load_dataset("iris") """ 案例6: 为DataFrame中的每一个变量绘制一个方框图 结合案例a """ sns.boxenplot(data=iris, orient="h", palette="Set2") plt.show() import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="whitegrid") # 构建数据 iris = sns.load_dataset("iris") """ 案例7: 在增强箱图上绘制分类散点图 """ sns.boxenplot(x="day", y="total_bill", data=tips) sns.stripplot(x="day", y="total_bill", data=tips, size=4, jitter=True, color="gray") plt.show() import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="whitegrid") # 构建数据 iris = sns.load_dataset("iris") """ 案例8: 利用catplot()来实现boxenplot()的效果(通过指定kind="boxen") """ sns.catplot(x="sex", y="total_bill", hue="smoker", col="time", data=tips, kind="boxen", height=4, aspect=.7); plt.show()上述案例代码已上传:Github地址 Github地址https://github.com/Vambooo/SeabornCN
更多技术干货在公众号:数据分析与可视化学研社