Я пытаюсь построить набор Мандельброта, но я не могу найти способ автоматического обновления графика с адекватным разрешением после увеличения масштаба. Я предполагаю, что это должно напомнить новый расчет, основанный на новых пределах x и y. Как я могу сделать эти отзывы из matplotlib?
Я прилагаю код, который у меня уже есть:
import numpy
from numba import autojit
import matplotlib.pyplot as plt
@autojit
def mandelbrot(Re, Im, max_iter):
c = complex(Re, Im)
z = 0
for i in range(max_iter):
z = z**2 + c
if abs(z)>= 2:
return i
return max_iter
def mandelbrot_set(x_1,x_2,y_1,y_2,rows,columns):
result = numpy.zeros([rows,columns])
for row_index, Re in enumerate(numpy.linspace(x_1,x_2,num=rows)):
for column_index, Im in enumerate(numpy.linspace(y_1,y_2,num=columns)):
result[row_index, column_index] = mandelbrot(Re, Im, 100)
return result
columns = 2000
rows = 2000
x_1=-2
x_2=1
y_1=-1.1
y_2=1.1
plt.figure(dpi=200)
plt.imshow(mandelbrot_set(x_1,x_2,y_1,y_2,rows,columns).T, cmap='jet', interpolation='bilinear', extent=[x_1,x_2,y_1,y_2])