R语言绘制箱线图并添加相关显著性

箱线图(又称盒须图)通过绘制连续型变量的五数总括,即最小值、下四分位数(第25百分位数)、中位数(第50百分位数)、上四分位数(第75百分位数)以及最大值,描述了连续型变量 的分布。 “它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较”。

一,建立正态随机分布的数据

在这里我先建立了几组满足正态随机分布的数据,主题是观察“在不同浓度的氮肥添加下,长脐红豆根系总长度的差异性”。(treatment=A、B、C、D,RL=根长)

设定A浓度氮肥添加下长脐红豆的根系总长度均值为72cm,SD为4,即A(mean=72,sd=4).

以此类推:B(mean=55,sd=3),C(mean=56,sd=5),D(mean=50,sd=4).

set.seed(1234)#设定种子数
dataA=rnorm(n=30,mean=72,sd=4)#随机生成A组浓度30个数据,mean=72,sd=4
dataB=rnorm(n=30,mean=55,sd=3)
dataC=rnorm(n=30,mean=56,sd=5)
dataD=rnor
  • 13
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
绘制箱线图添加显著性可以通过使用Python中的matplotlib库和seaborn库来实现。 首先,需要导入所需的库: ```python import matplotlib.pyplot as plt import seaborn as sns import numpy as np ``` 接下来,我们需要生成一些数据来绘制箱线图。这里我们使用numpy库生成一组随机数据: ```python data = np.random.randn(100, 5) ``` 然后,我们可以使用seaborn库中的boxplot函数来绘制箱线图: ```python sns.boxplot(data=data) ``` 如果想要添加显著性,可以使用matplotlib库来添加文本注释。例如,在箱线图添加显著性标记表示两组数据之间的显著差异,可以使用以下代码: ```python # 计算两组数据的显著性 from scipy.stats import ttest_ind sample1 = data[:, 0] sample2 = data[:, 1] t, p = ttest_ind(sample1, sample2) # 绘制箱线图 sns.boxplot(data=data) # 添加显著性标记 if p < 0.05: plt.text(0.5, 1.1, 'p < 0.05', ha='center', va='center', transform=plt.gca().transAxes) else: plt.text(0.5, 1.1, 'p = {:.2f}'.format(p), ha='center', va='center', transform=plt.gca().transAxes) ``` 这段代码首先使用scipy库中的ttest_ind函数计算两组数据的显著性,然后使用plt.text函数在图像上添加文本注释。显著性标记的位置使用相对坐标指定,这样即使图形的大小或比例发生变化,显著性标记也会正确地显示在图形上。 完整的代码如下: ```python import matplotlib.pyplot as plt import seaborn as sns import numpy as np # 生成一些随机数据 data = np.random.randn(100, 5) # 计算两组数据的显著性 from scipy.stats import ttest_ind sample1 = data[:, 0] sample2 = data[:, 1] t, p = ttest_ind(sample1, sample2) # 绘制箱线图 sns.boxplot(data=data) # 添加显著性标记 if p < 0.05: plt.text(0.5, 1.1, 'p < 0.05', ha='center', va='center', transform=plt.gca().transAxes) else: plt.text(0.5, 1.1, 'p = {:.2f}'.format(p), ha='center', va='center', transform=plt.gca().transAxes) # 显示图形 plt.show() ``` 这段代码将生成一个带有显著性标记的箱线图

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值