擅长:python、mysql、java
<p>误差线是相对于数据的,而且,两个+/-值都是正值(因此绝对误差):</p>
<pre><code>from matplotlib.pyplot import *
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([5, 11, 22, 44, 88])
err = np.array([[4.3, 10.1, 19.8, 40, 81.6 ],
[5.9, 13.6, 24.6, 48.5, 100.2]])
err2 = np.zeros_like(err)
err2[0,:] = y - err[0,:]
err2[1,:] = err[1,:] - y
figure();
errorbar(x, y, yerr=err2, label="data")
scatter(x, err[0], c='r', label="lower limit")
scatter(x, err[1], c='g', label="upper limit")
legend()
show()
</code></pre>
<p><a href="https://i.stack.imgur.com/sLtYe.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/sLtYe.png" alt="enter image description here"/></a></p>