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: 誤差棒的線條顏色
elinewidth: 誤差棒的線條粗細
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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM