Почему метки x-tick меняются, когда я использую brokenaxis ()? - PullRequest
1 голос
/ 09 июля 2020

Я пытался построить гистограмму со сломанной осью y. Без сломанной оси это выглядит так: график без сломанной оси

а со сломанной осью это выглядит так: график со сломанной осью

Мне нужны метки x-tick, как на рисунке, без сломанной оси, но я не знаю как! Что бы я ни попробовал, отображаются только 5 из 9 меток, и всегда отсутствует первая метка, хотя это тот же код для вычисления меток x-tick.

Вот код, который я использовал для графика без brokenaxis:

#computing dataframe
column1 = np.array(('Grünland','KA','MA','SG','SW','WG','WR','WW','ZR'))
column2 = np.array((1332.9,-429.7,-6041.6,-686.5,-72.4,-37.5,-4224.6,-4208.8,-3955.8))
column3 = np.array((1332.9,42.7,-1018.7,-32.7,21.7,-327.2,-3117.4,-15431.5,206.2))
data1 = np.column_stack((column1,column2,column3))
data = pd.DataFrame(data1,columns=['Frucht','SUM19','SUM20'])
data['SUM19'] = pd.to_numeric(data['SUM19'])
data['SUM20'] = pd.to_numeric(data['SUM20'])

labels = data['Frucht']
x = np.arange(len(labels))  # the label locations
width = 0.35  # the width of the bars

fig,bax = plt.subplots()
rects1 = bax.bar(x - width/2, data['SUM19'], width, label='2019')
rects2 = bax.bar(x + width/2, data['SUM20'], width, label='2020')

bax.set_xticks(x)
bax.set_xticklabels(labels)

и это код для графика со сломанной осью (те же данные, что и выше):

fig = plt.figure()
bax = brokenaxes(ylims=((-16000,-15000), (-6500, 1500)),hspace=.05)
rects1 = bax.bar(x - width/2, data['SUM19'], width, label='2019')
rects2 = bax.bar(x + width/2, data['SUM20'], width, label='2020')

bax.set_xticks(x)
bax.set_xticklabels(labels)

Большое спасибо за вашу помощь !!

...