Библиотек Matplotlib Шапки Errorbar Отсутствует

Я пытаюсь создать диаграмму рассеяния с errorbars в matplotlib. Ниже приведен пример того, как выглядит мой код:

import matplotlib.pyplot as plt
import numpy as np
import random

x = np.linspace(1,2,10)
y = np.linspace(2,3,10)
err = [random.uniform(0,1) for i in range(10)]

plt.errorbar(x, y,
       yerr=err,
       marker='o',
       color='k',
       ecolor='k',
       markerfacecolor='g',
       label="series 2",
       capsize=5,
       linestyle='None')
plt.show()

проблема заключается в том, что график, который выводится, не содержит колпачков вообще! enter image description here

для чего это стоит, я на Ubuntu 13.04, Python 2.7.5| Anaconda 1.6.1 (64-бит) / и Matplotlib 1.2.1.

может ли это быть скрытый rcparam, который необходимо перезаписать?

2 ответов


то, что работало для меня, добавляло это (согласно:Как установить ширину линии шапки панели ошибок, в matplotlib):

(_, caps, _) = plt.errorbar(x,y, yerr=err, capsize=20, elinewidth=3)

for cap in caps:
    cap.set_color('red')
    cap.set_markeredgewidth(10)

это связано с rcParams в matplotlib. Чтобы решить эту проблему, добавьте следующие строки в начале скрипта:

import matplotlib
matplotlib.rcParams.update({'errorbar.capsize': 2})

Он работает с plt.bar ().