Я хотел бы создать аналогичный график с этим одним (группами гистограммы с накоплением):
import numpy as np
import matplotlib.pyplot as plt
N = 5
menMeans = (20, 35, 30, 35, 27)
womenMeans = (25, 32, 34, 20, 25)
menStd = (2, 3, 4, 1, 2)
womenStd = (3, 5, 2, 3, 3)
ind = np.arange(N) # the x locations for the groups
width = 0.35 # the width of the bars: can also be len(x) sequence
p1 = plt.bar(ind, menMeans, width, yerr=menStd)
p2 = plt.bar(ind, womenMeans, width,
bottom=menMeans, yerr=womenStd)
plt.ylabel('Scores')
plt.title('Scores by group and gender')
plt.xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5'))
plt.yticks(np.arange(0, 81, 10))
plt.legend((p1[0], p2[0]), ('Men', 'Women'))
plt.show()
Просто вместо каждого столбца с накоплением в каждой группе будет отображаться гистограмма с накоплением в каждой группе. Грубо говоря, я хотел бы изменить это plt.bar
на plt.hist
, а также оставить без изменений макет графика.
Таким образом, это было бы похоже на размещение нескольких (одного и того же диапазона / бина) гистограмм на одном графике с одной и той же осью (а не на нескольких рисунках подзаговоров), но не уверен, что это может помочь, если его рассматривать как большую гистограмму, содержащую несколько суб-гистограмма. Какой путь легче подойти?
Я использую код здесь в качестве MWE, возможно, вы можете помочь мне скопировать одно и то же в 3 группы (одна и та же ось), предполагая, что это 3 разные гистограммы. Мне не важно показывать значения гистограмм по оси X, достаточно только названия групп.
x1 = mu + sigma*np.random.randn(990,1)
x2 = mu + sigma*np.random.randn(980,1)
x3 = mu + sigma*np.random.randn(1000,1)
#Stack the data
plt.figure()
plt.hist([x1,x2,x3], bins, stacked=True, normed = True)
plt.show()
Я включил примерный график, похожий на то, что я ожидаю. Чтобы построить это, я вручную сдвинул диапазон 2-й и 3-й гистограмм (изначально они имеют тот же диапазон, что и первый), поэтому показанная ось х немного сбивает с толку. Если это единственный (самый простой) способ сделать это, я хотел бы заменить значения оси X на имя группы, например, «группа 1», «группа 2», «группа 3».
Ссылка на изображение