我目前正在使用Python 3.4,Pandas 0.20.3和Matplotlib 2.1.0。在matplotlib bar with asymmetrical error bars使用早期版本的Pandas和Matplotlib提出了类似的问题,但在这种情况下,代码产生了错误,而在我的情况下,代码产生错误的图形。
基本上,我有一个由几列数据和命名值索引组成的Pandas数据帧。我想将其中一列作为条形图绘制,并包含不对称的误差条。我已将下部和上部误差线定义为两个列表的列表,第一个表示较低的误差线,第二个表示较高的误差线。但是,当我绘制条形图时,误差线基于第一个列表是对称的;如果我绘制两列的条形图,则第二个列表才会起作用。
我使用的代码可归纳如下:
import numpy as np
import pandas as pd
myDF = pd.DataFrame({'col1':[4,5,6,7],'col2':[6,5,4,5]},index=['A','B','C','D'])
print(myDF)
err = [[0.5,0.5,2,2],[2,2,3,3]]
ax = myDF.loc[:,['col1']].plot(kind = 'bar',yerr = err)
给出:
col1 col2
A 4 6
B 5 5
C 6 4
D 7 5
...并生成以下图表:
我认为我错过了一些明显的东西,但我无法指出错误;有人可以赐教我吗?