Matplotlib - бары ошибок не центрированы по точкам - PullRequest
3 голосов
/ 12 марта 2019

Я знаю, что раньше это было проблемой в 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")

полосы ошибок не центрированы по точкам.Я использую matplotlib 3.02 - Анаконда почему-то не признает, что есть 3.03.

1 Ответ

2 голосов
/ 12 марта 2019

Я нашел следующую работу: указав linewidth=1 для панели ошибок, вы центрируете их. Я пробовал несколько значений и все, что ниже 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)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...