Python matplotlib不均匀组大小条形图并排显示

Python matplotlib不均匀组大小条形图并排显示,python,matplotlib,Python,Matplotlib,我正在尝试绘制具有不同条形图大小和可能具有不同组大小的数据组。如何将属于相同组(显示为相同颜色)的条形图分组,以便它们并排排列?(与类似,但应并排使用相同的颜色) 在类别之间使用间隙(groupgap)的想法确实是一种方法。您还需要添加第一组的长度: x2 = np.arange(len(y2))+groupgap+len(y1) 下面是我使用groupgap=1的完整示例: import matplotlib.pyplot as plt import numpy as np width =

我正在尝试绘制具有不同条形图大小和可能具有不同组大小的数据组。如何将属于相同组(显示为相同颜色)的条形图分组,以便它们并排排列?(与类似,但应并排使用相同的颜色)


在类别之间使用间隙(
groupgap
)的想法确实是一种方法。您还需要添加第一组的长度:

x2 = np.arange(len(y2))+groupgap+len(y1)
下面是我使用
groupgap=1
的完整示例:

import matplotlib.pyplot as plt
import numpy as np

width = 1      
groupgap=1
y1=[20,80]
y2=[60,30,10]
x1 = np.arange(len(y1))
x2 = np.arange(len(y2))+groupgap+len(y1)
ind = np.concatenate((x1,x2))
fig, ax = plt.subplots()
rects1 = ax.bar(x1, y1, width, color='r',  edgecolor= "black",label="Gender")
rects2 = ax.bar(x2, y2, width, color='b',  edgecolor= "black",label="Type")
ax.set_ylabel('Population',fontsize=14)
ax.set_xticks(ind)
ax.set_xticklabels(('Male', 'Female','Student', 'Faculty','Others'),fontsize=14)
plt.show()

import matplotlib.pyplot as plt
import numpy as np

width = 1      
groupgap=1
y1=[20,80]
y2=[60,30,10]
x1 = np.arange(len(y1))
x2 = np.arange(len(y2))+groupgap+len(y1)
ind = np.concatenate((x1,x2))
fig, ax = plt.subplots()
rects1 = ax.bar(x1, y1, width, color='r',  edgecolor= "black",label="Gender")
rects2 = ax.bar(x2, y2, width, color='b',  edgecolor= "black",label="Type")
ax.set_ylabel('Population',fontsize=14)
ax.set_xticks(ind)
ax.set_xticklabels(('Male', 'Female','Student', 'Faculty','Others'),fontsize=14)
plt.show()