我正在尝试在一个图形中绘制大量的箱形图。我成功地展示了9个盒子图,我想得到更多的盒子图。我使用了以下代码。要从csv文件中获取数据:
a = getData("/home/abuabderrahmen/caidama.csv")
a1 = a.ix[0:,['Conductance']]
同样的过程允许获取任意数量的数组。然后,我使用以下命令创建frame对象:
e1 = concatenate( (a1, b1, c1), 0 )
data1 = [e1, e1, e1[::3,0]]
最后,我使用以下命令绘制方框
bp = boxplot(data1, positions = [1.05, 1.35, 1.65], widths = 0.15)
为了得到12个箱线图,我做了以下更改:
e1 = concatenate( (a1, b1, c1, d1), 0 )
data1 = [e1, e1, e1[::4,0]]
bp = boxplot(data1, positions = [1.05, 1.35, 1.65, 1.95], widths = 0.15)
我得到了一个列表索引超出范围的错误。这种方法出了什么问题?
发布于 2013-09-25 23:28:01
当您尝试绘制一个长度不等于您的positions
数组的长度的数组时,您可能遇到的唯一情况是在boxplot
中。即:
>>> plt.boxplot([1,2,3], positions=[1.05, 1.35, 1.65, 1.95], widths = 0.15)
Traceback (most recent call last):
File "<pyshell#66>", line 1, in <module>
plt.boxplot([1,2,3], positions=[1.05, 1.35, 1.65, 1.95], widths = 0.15)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib /pyplot.py", line 2442, in boxplot
usermedians=usermedians, conf_intervals=conf_intervals)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes.py", line 5815, in boxplot
d = np.ravel(x[i])
IndexError: list index out of range
我怀疑你的e1[::4,0]
不够长。
https://stackoverflow.com/questions/19002235
复制相似问题