本文主要是介绍【SCI绘图】【箱型图系列1 python】多类对比及各类下属子类对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SCI,CCF,EI及核心期刊绘图宝典,爆款持续更新,助力科研!
本期分享:
【SCI绘图】【箱型图系列1】多类对比+各类下属子类对比
文末附带完整代码:
1.环境准备
python 3
from matplotlib import pyplot as plt
from scipy import stats
import pandas as pd
import numpy as np
import seaborn as snssns.set_theme()
sns.set_style('ticks')plt.rc('figure', dpi=300)
plt.rc('font', size=8, family='Times New Roman')
plt.rc('axes', labelsize=8, linewidth=1)
plt.rc('xtick', labelsize=8)
plt.rc('xtick.major', size=3, width=1, pad=1.5)
plt.rc('ytick', labelsize=8)
plt.rc('ytick.major', size=3, width=1, pad=1.5)
plt.rc('legend', fontsize=8)
2.示例数据
seaborn.load_dataset返回一个Dataframe,定义如下
seaborn.load_dataset(name, cache=True, data_home=None, **kws)
# 此处可进行修改为自己的数据
penguins = sns.load_dataset("penguins")
penguins.head()
sex类别有Male和Female两类
3.绘图展示
定义绘图函数boxplot
def boxplot(fig):ax = fig.subplots()# island为横轴标签类别,body_mass_g为纵轴数值,而sex为各标签类别下的两个子类(Male和Female)sns.boxplot(data=penguins, x="island", y="body_mass_g", hue="sex", showfliers=False, linewidth=1, width=0.618)ax.set(xlabel="island", ylabel="body mass (g)")ax.legend(ncol=2, loc="lower center", bbox_to_anchor=(0.5, 1), frameon=False)sns.despine(ax=ax)
执行绘图
fig = plt.figure(figsize=(7.2 / 2, 7.2 / 2))boxplot(fig)fig.show()
完整代码如下:
from matplotlib import pyplot as plt
from scipy import stats
import pandas as pd
import numpy as np
import seaborn as snssns.set_theme()
sns.set_style('ticks')plt.rc('figure', dpi=300)
plt.rc('font', size=8, family='Times New Roman')
plt.rc('axes', labelsize=8, linewidth=1)
plt.rc('xtick', labelsize=8)
plt.rc('xtick.major', size=3, width=1, pad=1.5)
plt.rc('ytick', labelsize=8)
plt.rc('ytick.major', size=3, width=1, pad=1.5)
plt.rc('legend', fontsize=8)penguins = sns.load_dataset("penguins")
penguins.head()def boxplot(fig):ax = fig.subplots()# island为横轴标签类别,body_mass_g为纵轴数值,而sex为各标签类别下的两个子类(Male和Female)sns.boxplot(data=penguins, x="island", y="body_mass_g", hue="sex", showfliers=False, linewidth=1, width=0.618)ax.set(xlabel="island", ylabel="body mass (g)")ax.legend(ncol=2, loc="lower center", bbox_to_anchor=(0.5, 1), frameon=False)sns.despine(ax=ax)fig = plt.figure(figsize=(7.2 / 2, 7.2 / 2))boxplot(fig)fig.show()
这篇关于【SCI绘图】【箱型图系列1 python】多类对比及各类下属子类对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!