В моем графике у меня есть бары x- и y-ошибок. В направлении x они представляют ширину канала, а в направлении y это стандартное отклонение.
Точки данных выглядят как на картинке выше. Могу ли я нарисовать горизонтальную линию с такими же конечными точками для x-ошибок и вертикальной линией для y-ошибок?
КОД:
import numpy as np
from matplotlib import pyplot as plt
x_val = np.array([3.75, 3.959, 3.959, 4.05, 4.4655, 4.5155, 6.715, 7.325, 8.55, 9.7345, 11.03, 12.02, 13.335, 13.635, 13.935, 14.235])
x_low = np.array([0.09, 0.03, 0.03, 0.03, 0.0325, 0.0335, 0.18, 0.15, 0.15, 0.1455, 0.25, 0.25, 0.15, 0.15, 0.15, 0.15])
x_upper = np.array([0.09, 0.03, 0.03, 0.03, 0.0325, 0.0335, 0.18, 0.15, 0.15, 0.1455, 0.25, 0.25, 0.15, 0.15, 0.15, 0.15])
x_error = [[0.09, 0.03, 0.03, 0.03, 0.0325, 0.0335, 0.18, 0.15, 0.15, 0.1455, 0.25, 0.25, 0.15, 0.15, 0.15, 0.15], [0.09, 0.03, 0.03, 0.03, 0.0325, 0.0335, 0.18, 0.15, 0.15, 0.1455, 0.25, 0.25, 0.15, 0.15, 0.15, 0.15]]
y_val = np.array([0.0291, 0.0306, 0.0307, 0.0319, 0.0409, 0.0535, 0.7202, 1.0368, 1.656, 1.9703, 2.3562, 2.4342, 2.3917, 2.2989, 2.2268, 2.5738])
y_error = [0.033, 0.0318, 0.0285, 0.0249, 0.0244, 0.0269, 0.1587, 0.3184, 0.598, 0.7619, 0.6825, 0.6401, 0.4815, 0.4305, 0.4402, 0.4296]
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
plt.errorbar(x_val, y_val, xerr=x_error, yerr=y_error, linestyle='None', ecolor="black")
ax.set_xlabel(r'Wavelength ($\mu$m)')
ax.set_ylabel('Spectral radiance (erg s$^{-1}$ cm$^3$ sr$^{-1}$)')
plt.legend(prop={'size':14})
plt.show()
UPDATE:
Сейчас я строю график дважды, но один раз с помощью x-errorbar, а другой раз - с y-errorbar. Это работает, конечно. Однако в легенде появляются два символа одной и той же линии.