W Matplotlib, co oznacza argument na rys.dodawanie podpowiedzi(111)

Czasami natykam się na taki kod:

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
fig = plt.figure()
fig.add_subplot(111)
plt.scatter(x, y)
plt.show()

Który daje:

Przykładowa wykresówka wykonana wg dołączonego kodu

Czytałem dokumentację jak szalony, ale nie mogę znaleźć wyjaśnienia dla 111. czasami widzę 212.

Co oznacza argument fig.add_subplot()?

Author: MackM, 2010-08-27

4 answers

Są to parametry siatki podplotowej zakodowane jako pojedyncza liczba całkowita. Na przykład "111" oznacza "siatkę 1x1, pierwszy subplot", a "234" oznacza "siatkę 2x3, czwarty subplot".

Alternatywną formą dla add_subplot(111) jest add_subplot(1, 1, 1).

 353
Author: Constantin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-27 14:05:22

Myślę, że najlepiej to wyjaśnić poniższym obrazkiem:

Tutaj wpisz opis obrazka

Aby zainicjować powyższe, należy wpisać:

import matplotlib.pyplot as plt
fig = plt.figure()
fig.add_subplot(221)   #top left
fig.add_subplot(222)   #top right
fig.add_subplot(223)   #bottom left
fig.add_subplot(224)   #bottom right 
plt.show()

EDIT: Kilka dodatkowych informacji

Następujące kombinacje tworzą asymetryczne układy podpłytków.

subplot(2,2,[1 3])
subplot(2,2,2)
subplot(2,2,4)

Przykład 2

Można również użyć operatora dwukropka, aby określić wiele lokalizacji, jeśli są one w kolejności.

subplot(2,2,1:2)
subplot(2,2,3)
subplot(2,2,4)

Tutaj wpisz opis obrazka

Reference here

 416
Author: SaiyanGirl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-09 22:33:51

Odpowiedź od Constantina jest na miejscu, ale dla więcej tła to zachowanie jest dziedziczone z Matlab.

Zachowanie Matlab jest wyjaśnione w konfiguracji rysunku - Wyświetlanie wielu wykresów na figurę sekcja dokumentacji Matlab.

Subplot (m,n,i) rozbija okno rysunku na M-przez-N macierzy małych podprogramy i wybiera podprogram Ithe dla bieżącej działki. Parcele są ponumerowane wzdłuż górnego rzędu okna rysunku, następnie drugi wiosłować i tak dalej.

 32
Author: DaveTM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-09 19:49:53

Moje rozwiązanie to

fig = plt.figure()
fig.add_subplot(1, 2, 1)   #top and bottom left
fig.add_subplot(2, 2, 2)   #top right
fig.add_subplot(2, 2, 4)   #bottom right 
plt.show()

Siatka 2x2 z połączeniami 1 i 3

 6
Author: yoonghm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-28 05:52:32