Ярлыки по умолчанию для оси X Matplotlib не пройдут go - PullRequest
0 голосов
/ 24 марта 2020

Я работаю над набором данных, и у меня странные результаты. Я создал сетку, и я пытаюсь, чтобы метки оси X отображались только для нижних графиков и отображали годы. Однако стандартная метка a-xis остается в фоновом режиме. Я пробовал много разных вещей, но не повезло. Что дает?

Код:

fig, ((ax1, ax2, ax3), 
      (ax4, ax5, ax6), 
      (ax7, ax8, ax9), 
      (ax10, ax11, ax12), 
      (ax13, ax14, ax15), 
      (ax16, ax17, ax18)) = plt.subplots(6, 3, figsize=(30, 60),
                                          sharex=True, sharey=True)

А ...

image

Результат:

Красные линии указывают на маленьких пижонов ...

image

1 Ответ

0 голосов
/ 24 марта 2020

Похоже, вы создаете два набора осей, один раз в вызове plt.subplots(), а затем снова при последующих вызовах fig.add_subplot().

Вы можете изменить свой первый вызов, чтобы просто создать фигуру выполнив следующее:

fig = plt.figure(figsize = (30, 60))

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

for sp in range(0, 16, 3):
    ax = fig.add_subplot(6, 3, sp, sharex = True, sharey = True)

В качестве альтернативы, если вы хотите создать все сначала вложенные участки, а затем доступ к ним на вашем компьютере для l oop:

fig, axes = plt.subplots(6, 3, figsize = (30, 60), sharex = True, sharey = True) 
for sp in range(0, 16, 3):
    ax = axes[sp]
...