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:
Czytałem dokumentację jak szalony, ale nie mogę znaleźć wyjaśnienia dla 111
. czasami widzę 212
.
Co oznacza argument fig.add_subplot()
?
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)
.
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:
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)
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)
Reference here
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.
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()
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