使用pyplot的bar() - Left Argument并排放置2个数据系列

时间:2014-08-06 20:45:39

标签: matplotlib histogram bar-chart

我正在使用bar()绘制2个数据系列,一个轴上的大多数绘图点在bar()的'left'参数方面是相同的,以便移动第二个数据系列,我在起点上添加了一些空间,但是这个添加导致了这个错误:

TypeError:只能将元组(不是“float”)连接到元组

以下是我的代码:

width = 0.5
genGraph, xyParts = p.subplots() 
xPart = xyParts.bar(fFreqs, fVals, width, color='#758085')
yPart = xyParts.bar((oFreqs + width,), oVals, width, color='#C9FABE')

fFreqs和oFreqs是元组,它们作为'left'参数的参数,'width'是一个偏移量,用于移动oFreqs(第二个数据集)的起始点。我尝试了一个简单的连接,将'oFreqs'添加到'width'而没有括号和额外的逗号。

你能告诉我我做错了什么吗?感谢。

1 个答案:

答案 0 :(得分:0)

如果oFreqs是一个元组,那么

(oFreqs + width,)

不会做你认为应该做的事情。添加两个元组只是将它们连接起来。如果要为元组的所有部分添加常量,则应使用numpy数组(因为在使用numpy时可以使用matplotlib。尝试:

import numpy as np

...

yPart = xyParts.bar(np.array(oFreqs) + width, ...)

这会将元组转换为数组,然后按照人们的想法进行添加。