На первый взгляд, это довольно простая проблема, но я не смог найти решение. Есть похожий (старый) вопрос здесь , но ближайший ответ, данный , похоже, не относится к ошибкам в обоих измерениях.
Мне нужно сгенерировать график "панели ошибок", где обе полосы ошибок (в измерениях x и y) окрашены в соответствии со значениями в массиве cc
.
код:
import numpy as np
import matplotlib.pyplot as plt
# Some random data
aa = np.array([3.581, -0.721, 0.137, 0.645, 0.12, 0., -3.236, 0.248, -5.687, 0.816])
e_aa = np.array([0.111, 0.991, 0.446, 0.07, 0.814, 0., 0.088, 0.805, 0.178, 0.552])
bb = np.array([6.671, 1.219, 0.119, -1.972, 1.834, 0., 4.93, 1.833, -11.542, -0.439])
e_bb = np.array([0.143, 1.316, 0.609, 0.094, 1.127, 0., 0.116, 1.227, 0.216, 0.726])
# The color array
cc = np.array([0.50344083, 0.49961867, 0.5055576, 0.48970365, 0.5078516, 0.49643923, 0.50089907, 0.50129157, 0.49627974, 0.5052376])
plt.errorbar(aa, bb, yerr=e_bb, xerr=e_aa, fmt='none', ecolor=cc)
plt.show()
терпит неудачу с:
ValueError: Invalid RGBA argument: 0.50344083
использую ли я аргумент ecolor
или color
.
Есть ли способ обойти это?