Как установить y_ticks в ключевых точках в гистограммах с накоплением вместо равномерно? - PullRequest
1 голос
/ 24 июня 2019

Для удобства получателя я пытаюсь пометить y_ticks только там, где разбиты гистограммы, но я не могу понять это.Мой код сейчас:

fig = plt.figure()
ax1 = fig.add_subplot(211)
width = 0.3
ind = ['Label_1','Label_2']
y1 = [1000, 950]
y2 = [100, 120]
y3 = [40, 60]
ax1.bar(ind,y1,width = width,color='g',label='Fee_1')
ax1.bar(ind,y2,width=width,bottom=y1,color='orange',label='Fee_2')
ax1.bar(ind,y3,width=width,bottom=[i+j for i,j in zip(y1,y2)],color='brown',label='Fee_3')
ax1.set_yticks(y1+y2+y3)
ax1.set_xlabel('X Axis Labels')
ax1.set_ylabel('Y Axis Labels')
ax1.legend(loc="center")

Когда я строю график, метки имеют значения значений y, но они не следуют логике с накоплением.

enter image description here

Если кто-нибудь может помочь мне разобраться в этой загадке, которая будет просто отличной!

1 Ответ

1 голос
/ 24 июня 2019

Преобразуйте свои списки в массивы и объедините кумулятивные суммы, а затем установите их как метки y-tick.Я также использовал одну цифру как

ax1 = fig.add_subplot(111)

y1 = np.array([1000, 950])
y2 = np.array([100, 120])
y3 = np.array([40, 60])
ax1.bar(ind,y1,width = width,color='g',label='Fee_1')
ax1.bar(ind,y2,width=width,bottom=y1,color='orange',label='Fee_2')
ax1.bar(ind,y3,width=width,bottom=[i+j for i,j in zip(y1,y2)],color='brown',label='Fee_3')
yticks = np.concatenate((y1, y1+y2, y1+y2+y3))
ax1.set_yticks(yticks)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...