matplotlib.plot 置信区间 误差棒图

import matplotlib.pyplot as plt
import numpy as np

x_ticks = ("Thing 1", "Thing 2", "Other thing", "Yet another thing")

x_1 = np.arange(1, 5)
x_2 = x_1 + 0.1
y_1 = np.random.choice(np.arange(1, 7, 0.1), 4)
y_2 = np.random.choice(np.arange(1, 7, 0.1), 4)
#numpy.random.choice(a, size=None, replace=True, p=None)
err_1
= np.random.choice(np.arange(0.5, 3, 0.1), 4) err_2 = np.random.choice(np.arange(0.5, 3, 0.1), 4)

# 绘制置信区间图 plt.errorbar(x
=x_1, y=y_1, yerr=err_1, color="black", capsize=3, linestyle="None", marker="s", markersize=7, mfc="black", mec="black") plt.errorbar(x=x_2, y=y_2, yerr=err_2, color="gray", capsize=3, linestyle="None", marker="s", markersize=7, mfc="gray", mec="gray") plt.xticks(x_1, x_ticks, rotation=90) plt.tight_layout() plt.show()

输出图像如下所示:

 

plt.errorbar()

plt.errorbar(x, 
    y, 
    yerr=None, 
    xerr=None, 
    fmt='', 
    ecolor=None, 
    elinewidth=None, 
    capsize=None, 
    capthick=None
)

主要参数:

x,y: 数据点的位置坐标 (置信区间:y是对应于当前x的均值)
xerr,yerr: 数据的误差范围(yerr为[[置信区间下限],[置信区间上限]])
fmt: 数据点的标记样式以及相互之间连接线样式
ecolor: 误差棒的线条颜色
eline 误差棒的线条粗细
capsize: 误差棒边界横杠的大小
capthick: 误差棒边界横杠的厚度
ms: 数据点的大小
mfc: 数据点的颜色
 

numpy.random.choice(a, size=None, replace=True, p=None)

从a(只要是ndarray都可以,但必须是一维的)中随机抽取数字,并组成指定大小(size)的数组
replace:True表示可以取相同数字,False表示不可以取相同数字
数组p:与数组a相对应,表示取数组a中每个元素的概率,默认为选取每个元素的概率相同。

np.arange()

参数个数情况: np.arange()函数分为一个参数,两个参数,三个参数三种情况

1)一个参数时,参数值为终点,起点取默认值0,步长取默认值1。

2)两个参数时,第一个参数为起点,第二个参数为终点,步长取默认值1。

3)三个参数时,第一个参数为起点,第二个参数为终点,第三个参数为步长。其中步长支持小数。

置信区间计算:(excel)

TINV 函数

返回学生 t 分布的双尾反函数。

新函数的详细信息,请参阅 T.INV.2T 函数或 T.INV 函数

语法

TINV(probability,deg_freedom)

TINV 函数语法具有下列参数:

  • Probability    必需。 与双尾学生 t 分布相关的概率。

  • Deg_freedom    必需。 代表分布的自由度数。

说明

  • 如果任一参数是非数值的,则 TINV 返回 错误值 #VALUE!。

  • 如果 probability <= 0 或 probability > 1,则 TINV 返回 错误值 #NUM!。

  • 如果 deg_freedom 不是整数,则将被截尾取整。

  • 如果 deg_freedom < 1,则 TINV 返回 错误值 #NUM!。

  • TINV 返回 t 值,P(|X| > t) = probability,其中 X 为服从 t 分布的随机变量,且 P(|X| > t) = P(X < -t or X > t)。

  • 通过将 probability 替换为 2*probability,可以返回单尾 t 值。 对于概率为 0.05 以及自由度为 10 的情况,使用 TINV(0.05,10)(返回 2.28139)计算双尾值。 对于相同概率和自由度的情况,可以使用 TINV(2*0.05,10)(返回 1.812462)计算单尾值。

    注意: 在某些表格中,概率被描述为 (1-p)。

    如果已给定概率值,则 TINV 使用 TDIST(x, deg_freedom, 2) = probability 求解数值 x。 因此,TINV 的精度取决于 TDIST 的精度。 TINV 使用迭代搜索技术。 如果搜索在 100 次迭代之后没有收敛,则函数返回错误值 #N/A。

示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。要使公式显示结果,请选中它们,按 F2,然后按 Enter。如果需要,可调整列宽以查看所有数据。

数据

说明

 

0.05464

对应于双尾学生 t 分布的概率

60

自由度

 

公式

说明

结果

=TINV(A2,A3)

基于 A2 和 A3 中的参数算出的学生 t 分布的 t 值。

1.96

 
 
 

SQRT 函数

说明

返回正的平方根。

语法

SQRT(number)

SQRT 函数语法具有下列参数:

  • Number    必需。 要计算其平方根的数字。

备注

如果 number 为负数, 则 SQRT 返回 #NUM! 错误值。

示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。

数据

   

-16

   

公式

说明

结果

=SQRT(16)

16 的平方根。

4

=SQRT(A2)

-16 的平方根。 由于该数字为负值, 因此 #NUM! 返回错误消息。

#NUM!

=SQRT(ABS(A2))

避免 #NUM! 错误消息: 首先使用 ABS 函数查找-16 的绝对值, 然后找到平方根。

4

 
 

其他画图方式:

matlab excel origin

python: seaborn

 

原文地址:https://www.cnblogs.com/shona/p/12201313.html