尝试使用MatPlotLib
绘制组条形图,但我的条形位置错误。
所以,我有一个数据:
groups = [
np.array([ group1.count(0), group1.count(1) ]),
np.array([ group2.count(0), group2.count(1) ]),
]
group
是[[1, 3], [0, 5]]
,这意味着每个组都有两种颜色。在第一组中,只有1人选择第一种颜色,其他3人选择第二种颜色。我试图绘制它但是条形位置是错误的:第一组中的3
移动到第二组,依此类推。
我的错误在哪里?为什么会这样?
绘制数据的代码:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
def draw(groups):
group_labels = ['G1', 'G2']
num_items = len(group_labels)
ind = np.arange(num_items)
margin = 0.05
width = (1.-2.*margin)/num_items
colors = ['#f5abb5', '#2fc2ef']
s = plt.subplot(1,1,1)
for num, vals in enumerate(groups):
xdata = ind+margin+(num*width)
plt.bar(xdata, vals, width, color=colors[num])
s.set_xticks(ind+0.5)
s.set_xticklabels(group_labels)
draw(groups)