python 用 matplotlib 繪制誤差條圖


1、自變量的誤差條

import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = 'SimHei'   # 使圖形中的中文正常編碼顯示
plt.rcParams['axes.unicode_minus'] = False   # 使坐標軸刻度表簽正常顯示正負號

# 定義數據
x = np.arange(17) error = np.random.rand(17) y = np.power(x, 2) # 創建畫布
plt.figure(num='百里希文' facecolor='lightyellow', ) # 繪制圖形
plt.plot(x, y, 'gs--',    # fmt, color marker linestyle 
         mfc='y'   # marker facecolor
 ) plt.errorbar(x, y, xerr=error, ecolor='r' ) # 增加圖形元素
plt.xlabel(xlabel='x') plt.ylabel(ylabel='x 的平方') plt.grid(axis='both') plt.show()

 

圖形

2、因變量的誤差條

import numpy as np import matplotlib.pyplot as plt # 使圖形中的中文正常編碼顯示
plt.rcParams['font.sans-serif'] = 'SimHei'   
# 使坐標軸刻度表簽正常顯示正負號
plt.rcParams['axes.unicode_minus'] = False # 定義數據
x = np.arange(17) error = np.random.rand(17) y = np.sqrt(x) # 創建畫布
plt.figure(num='百里希文', facecolor='lightyellow') # 繪制圖形
plt.plot(x, y, 'yd--', mfc='g' ) plt.errorbar(x, y, yerr=error, ecolor='r' ) # 增加圖形元素
plt.xlabel(xlabel='x') plt.ylabel(ylabel='x 的平方根') plt.grid(axis='both') # 顯示圖形
plt.show()

 

圖形

 

3 、x 和 y 各自的誤差條

import numpy as np import pandas as pd import matplotlib.pyplot as plt # 使圖形中的中文正常編碼顯示
plt.rcParams['font.sans-serif'] = 'SimHei'  
 # 使坐標軸刻度表簽正常顯示正負號
plt.rcParams['axes.unicode_minus'] = False # 定義數據
x = np.arange(17) error = np.random.rand(17) y1 =np.power(x, 2) y2 = np.sqrt(x) # 創建畫布
plt.figure(num='百里希文', facecolor='lightyellow' ) # 在第一個坐標系繪制圖形
ax = plt.gca() ax.plot(x, y1, 'yd--',   # fmt
        mfc='g'   # marker facecolor, green
 ) ax.errorbar(x, y1, yerr=error, xerr=error, ecolor='r', marker='d'   # diamond 菱形
 ) ax.grid(axis='both', ls=':',   # linestyle 虛線
        c='gray',    # color
        alpha=0.7 ) ax.set(xlabel='x', ylabel='x 的平方根', ) # 添加第二個 y 軸, 在第二坐標系繪圖
ax2 = ax.twinx() ax2.plot(x, y2, 'gh-.',   # fmt
         mfc='y'   # marker facecolor, yellow
 ) ax2.errorbar(x, y2, yerr=error, xerr=error, ecolor='r' ) ax2.set_ylabel(ylabel='x 的平方根根') # 顯示圖形
plt.show()

圖形

 

 。。。。


免責聲明!

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



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