Например, даже если я изменю:
Код: Выделить всё
py.figure(figsize=(16,16))
Вот минимальный пример:
Код: Выделить всё
import numpy as np
from matplotlib import pyplot as py
from matplotlib import *
L=2
nx=130
dx=L/(nx-1)
nt=25
CFL=1
u= np.ones(nx)
u[int(0.5/dx):int(1/dx+1)]=2
x=np.linspace(0,L,nx)
py.style.use('classic')
dt=(CFL*dx) / (max(u))
nx2 = 41
dx2 = 2 / (nx2 - 1)
nt2 = 20
nu2 = 0.3
sigma2 = 0.2
dt2 = sigma2 * dx2**2 / nu2
u2 = np.ones(nx2)
u2[int(0.5 / dx2):int(1 / dx2 + 1)] = 2
x2 = np.linspace(0, 2, nx2)
py.figure(figsize=(16,16))
for i in range(nt):
un = u.copy()
un2 = u2.copy()
u[1:nx] = un[1:nx] - ((un[1:nx]*dt)/(1*dx))*(un[1:nx]-un[0:nx-1])
py.subplot(211)
py.cla()
py.plot(x, u, 'ko-')
py.ylim(0, 2.2)
py.title("Inviscid 1D Burger's Equation")
py.xlabel("x")
py.ylabel("u")
u2[1:nx2-1] = un2[1:nx2-1] + (nu2 * dt2 / dx2**2) * (
un2[2:nx2] - 2 * un2[1:nx2-1] + un2[:nx2-2]
)
py.subplot(212)
py.cla()
py.plot(x2, u2, color='black')
py.ylim(0, 2.2)
py.title('Diffusion')
py.xlabel("x")
py.ylabel("u")
py.tight_layout()
py.pause(0.0001)
Мой вопрос:
Почему изменение размера изображения не приводит к изменению видимого размера фигуры в Spyder? Spyder автоматически масштабирует график в соответствии с размером панели, или в моем коде Matplotlib есть что-то, что препятствует эффекту figsize?
Кроме того, если проблема заключается в средстве просмотра графиков Spyder, а не в самом Matplotlib, как правильно заставить фигуру выглядеть больше при работе в Spyder?