首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >boxplot:索引超出范围错误

boxplot:索引超出范围错误
EN

Stack Overflow用户
提问于 2013-09-25 18:18:53
回答 1查看 1.3K关注 0票数 3

我正在尝试在一个图形中绘制大量的箱形图。我成功地展示了9个盒子图,我想得到更多的盒子图。我使用了以下代码。要从csv文件中获取数据:

代码语言:javascript
运行
复制
a = getData("/home/abuabderrahmen/caidama.csv")
a1 = a.ix[0:,['Conductance']]

同样的过程允许获取任意数量的数组。然后,我使用以下命令创建frame对象:

代码语言:javascript
运行
复制
e1 = concatenate( (a1, b1, c1), 0 )
data1 = [e1, e1, e1[::3,0]]

最后,我使用以下命令绘制方框

代码语言:javascript
运行
复制
bp = boxplot(data1, positions = [1.05, 1.35, 1.65], widths = 0.15)

为了得到12个箱线图,我做了以下更改:

代码语言:javascript
运行
复制
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)

我得到了一个列表索引超出范围的错误。这种方法出了什么问题?

EN

回答 1

Stack Overflow用户

发布于 2013-09-25 23:28:01

当您尝试绘制一个长度不等于您的positions数组的长度的数组时,您可能遇到的唯一情况是在boxplot中。即:

代码语言:javascript
运行
复制
>>> 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]不够长。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19002235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档