如何在熊猫系列条形图上放置误差条帽

时间:2019-07-03 05:58:04

标签: python pandas matplotlib

enter image description here

我正在尝试在熊猫系列条形图中放置错误条形大写字母。我见过的其他方法无效。

我尝试更改capsize值或更改plt.rcParams ['errorbar.capsize']的值或使用plt.style.use('seaborn-paper')

s = pd.Series({'a':1,'b':2,'c':3,'d':4,'e':5})
err = [0.1,0.2,0.3,0.4,0.5]
plt.figure()
s.plot(kind='barh',xerr=err)
plt.show()

我希望看到带有误差线的误差线图,误差线在误差线的末端有大写字母,但它们只是直线。

1 个答案:

答案 0 :(得分:1)

对于通常的熊猫条形图,指定capsize就足够了。即

import matplotlib.pyplot as plt
import pandas as pd

s = pd.Series({'a':1,'b':2,'c':3,'d':4,'e':5})
err = [0.1,0.2,0.3,0.4,0.5]
plt.figure()
s.plot(kind='barh', xerr=err, capsize=3)
plt.show()

enter image description here

但是,在这种情况下,您似乎使用的是怀旧风格。这可以修改首字母缩写。因此,需要通过工具栏的error_kw

进行设置
import matplotlib.pyplot as plt
import pandas as pd

plt.style.use('seaborn')

s = pd.Series({'a':1,'b':2,'c':3,'d':4,'e':5})
err = [0.1,0.2,0.3,0.4,0.5]
plt.figure()
s.plot(kind='barh', xerr=err, capsize=3, error_kw=dict(capthick=1))
plt.show()

或通过rcParams还原更改,

import matplotlib.pyplot as plt
import pandas as pd

plt.style.use('seaborn')
plt.rcParams.update({"lines.markeredgewidth" : 1,
                     "errorbar.capsize" : 3})

s = pd.Series({'a':1,'b':2,'c':3,'d':4,'e':5})
err = [0.1,0.2,0.3,0.4,0.5]
plt.figure()
s.plot(kind='barh', xerr=err)
plt.show()

enter image description here