我知道这是 matplotlib 中以前的一个问题 - 但它应该已经修复了,对吧?
当我执行时。我的散点图示例代码:
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np
plt.xlabel(r'$Label \, in \, Latex$')
plt.ylabel(r'$Label \, in \, Latex$')
plt.title(r'$Title \, in \, Latex$')
#plt.text(1, 15, r'$Latex \, Example \, Text$')
x=[1, 2, 3, 4]
y=[1, 4, 9, 16]
plt.axis([0, 6, 0, 20])
plt.errorbar(x, y, yerr=1, fmt='.k', capsize=3)
plt.savefig('foo.pdf', bbox_inches="tight")
Run Code Online (Sandbox Code Playgroud)
误差线不以点为中心。我正在使用 matplotlib 3.02 - Anaconda 不知何故无法识别出 3.03。
我发现了以下解决方法:linewidth=1为误差条指定 a 使它们居中。我尝试了几个值,任何低于 1.5 的值都会居中,但任何高于 1.5(含)的值都会使其偏离中心。我不知道原因。这可能与dpi
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np
plt.xlabel(r'$Label \, in \, Latex$')
plt.ylabel(r'$Label \, in \, Latex$')
plt.title(r'$Title \, in \, Latex$')
#plt.text(1, 15, r'$Latex \, Example \, Text$')
x=[1, 2, 3, 4]
y=[1, 4, 9, 16]
plt.axis([0, 6, 0, 20])
plt.errorbar(x, y, yerr=1, lw=1, fmt='.k', capsize=3)
Run Code Online (Sandbox Code Playgroud)