Можно ли ввести значения для доверительного интервала / погрешности на графике морского побережья?

1

Я привык делать свои стрижки на морском дне, и мне нравится макет для показа баров доверия, но у меня есть специальный случай в наборе данных, где у меня уже есть доверительный интервал, например:

month   ci-b     mean    ci-t
201801  0.020   0.0206  0.021
201802  0.019   0.0198  0.0204
201803  0.022   0.0225  0.0228
201804  0.022   0.0236  0.0240
201805  0.023   0.0235  0.0239

Есть ли способ вручную вводить значения для линий доверительного интервала морского берега? Или использовать его как "Нет" и использовать некоторую функцию matlib, чтобы установить доверительный интервал на графике (но сохраняя строгий барплот)

Когда я делаю:

ax = sns.barplot('month','mean',data=df, ci=None)

Я получаю, как и ожидалось, обычный барплей:

Эта графика

И когда я пытаюсь использовать панель ошибок matlib следующим образом:

ax = sns.barplot('month','mean',data=df, ci=None)
plt.errorbar(x=df['month'],y=df['mean'],yerr=(df['ci-t']-df['ci-b']))

Все перепуталось с одной странной линией, проигранной на рисунке:

Как этот рисунок

Я неправильно использую ошибку? Есть ли лучший инструмент для этого?

Теги:
pandas
seaborn

1 ответ

1
Лучший ответ

Месяцы интерпретируются по-разному с помощью seaborn и matplotlib приводит к нечетному размещению баров ошибок. Вам также необходимо указать fmt='none' чтобы избежать errorbar пунктах данных точки errorbar. Следующий код помещает строки ошибок в правильные местоположения x:

ax = sns.barplot('month','mean',data=df, ci=None)
plt.errorbar(x=[0, 1, 2, 3, 4],y=df['mean'],
             yerr=(df['ci-t']-df['ci-b']), fmt='none', c= 'r')

Изображение 174551

  • 1
    Если я правильно понимаю, я думаю, что этот метод чрезмерно представляет (может удвоить) размер ошибок. Посмотрите на 4-й столбец 201804 года. Верхняя граница на рисунке, кажется, равна или выше 0,025, тогда как в таблице OP верхняя граница составляет только 0,024?
  • 0
    Да, я думаю, что вы можете быть правы, поскольку plt.errorbar добавляет и вычитает одну и ту же ошибку с обеих сторон при передаче одномерного массива значений. Вот документация .
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню