Как индексы подзаголовка работают в Python?

#python #matplotlib #plot

#python #matplotlib #график

Вопрос:

Я пытаюсь понять, как работают индексы подзаголовка, но они совсем не кажутся интуитивно понятными. У меня особенно есть проблема с третьим индексом. Я знаю, что есть другие способы создания подзаголовков в python, но я пытаюсь понять, как работают подзаголовки, написанные таким образом, потому что они широко используются.

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

  1. Строка 1 содержит 3 столбца
  2. Строка 2 имеет 2 столбца
  3. Строка 3 содержит 3 столбца
  4. Строки 4 и 5 имеют 2 столбца. Однако я хочу, чтобы левый подзаголовок охватывал строки 4 и 5.

Это код для первых 3 строк. Я не понимаю, почему третий индекс ax4 равен 3 вместо 4.

 ax1 = plt.subplot(5,3,1)
ax2 = plt.subplot(5,3,2)
ax3 = plt.subplot(5,3,3)

ax4 = plt.subplot(5,2,3)
ax5 = plt.subplot(5,2,4)

ax6 = plt.subplot(5,3,7)
ax7 = plt.subplot(5,3,8)
ax8 = plt.subplot(5,3,9)
  

Для трех подзаголовков, которые находятся в строках 3 и 4, я, похоже, не могу этого сделать. Вот моя неправильная попытка:

 ax9  = plt.subplot(4,2,10)
ax10 = plt.subplot(5,2,12)
ax11 = plt.subplot(5,2,15)
  

Ответ №1:

Индексы располагаются слева направо, а затем переносятся в конец строки. Итак subplot(2, 3, x) :

 1 2 3
4 5 6
  

В вашем примере ax4=subplot(5, 3, x) подзаголовки индексируются:

 1 2 3
4 5 6
7 8 9
10 11 12 
13 14 15
  

Для ax4=subplot(5, 2, x) они индексируются:

 1 2
3 4
5 6
7 8
9 10
  

Чтобы охватить подзаголовки, вы можете ввести индексы start и stop:

 ax9 = plt.subplot(5, 2, 7:9)
ax10 = plt.subplots(5, 2, 8:10)
  

Комментарии:

1. Спасибо, но это не отвечает на мой вопрос.

2. Как это не отвечает на ваш вопрос?

3. Мой вопрос был не в том, как это сделать, а в том, почему это делается именно так. Вы привели пример subplot(2, 3, x) . Мой вопрос касается того, как выбрать x . Из моего первоначального вопроса, x of ax1 , ax2 , и ax3 равны 1, 2 и 3. Это имеет смысл. Тогда ax4 вместо x 4, это 3, почему? Затем ax6 возвращается к 7, как будто все в порядке. Я не понимаю, как x выбирается. Это был мой вопрос. Пример, который я привел, просто чтобы показать, что я действительно не понимаю, как выбрать x .