我在 matplotlib 中生成堆积条形图(在 Windows 7 上使用 Python 2.7)。
因为我想用它来成对比较来自 2 个数据集的数据,所以我想为每个 2nd 条使用不同的颜色。谁能告诉我如何实现这一目标?
我的条形图看起来基本上是这样的:
import numpy
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
IDs = ["1","A","2","B","3","C","4","D","5","E"]
N = len(IDs)
property1 = numpy.array([1,3,4,2,3,5,6,7,3,2])
property2 = numpy.array(range(10))
property3 = numpy.array(range(10,0,-1))
ind = numpy.arange(N)
width = 0.8
p1 = ax1.bar(ind, property1, width, color='red')
p2 = ax1.bar(ind, property2, width, color='blue', bottom=property1)
p3 = ax1.bar(ind, property3, width, color='green', bottom=property1 + property2)
plt.xticks(ind+width/2., IDs )
plt.show()
plt.close()
所以我想为标有字母的条使用一种配色方案,另一种用于标有数字的条(因为例如,“1”和“A”形成一对 - 它们在两种不同的实验条件下代表相同的样本,这就是为什么我希望它们彼此相邻)。
理想情况下,如果可以调整宽度以使一对钢筋之间没有间隙(但对之间有间隙),那将非常好。
但是现在,我不知道该怎么做,所以任何建议都会很棒!
(我可以单独使用两个“数据集”,这更容易吗?也许做两个有很大差距的图,彼此相交?)