用python绘制分形图
时间: 2024-10-08 17:21:59 浏览: 42
python使用turtle绘制分形树
在Python中,我们可以使用一些库如`matplotlib`和`numpy`来绘制分形图形,最常用的是生成著名的数学形态——曼德博集合(Mandelbrot Set)。这里是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置图像大小和分辨率
fig = plt.figure(figsize=(8, 6), dpi=100)
def mandelbrot(c, maxiter=256):
z = c
for n in range(maxiter):
if abs(z) > 2:
return n
z = z**2 + c
return maxiter
# 创建一个网格
x = np.linspace(-2, 1, 400)
y = np.linspace(-1.5, 1.5, 300)
X, Y = np.meshgrid(x, y)
c = X + 1j * Y
# 计算每个点是否属于曼德博集合
Z = mandelbrot(c)
# 使用颜色编码表示迭代次数
plt.imshow(Z, cmap='hot', extent=[-2, 1, -1.5, 1.5], interpolation='bicubic')
plt.contour(X, Y, Z, levels=20, colors='black')
plt.title('Mandelbrot Set')
plt.xlabel('Re(z)')
plt.ylabel('Im(z)')
plt.colorbar(label='Iteration count')
plt.show()
```
这个脚本会生成一张曼德博集的彩色图像,其中深色区域代表更多的迭代次数,通常被认为是集合的一部分,而浅色区域则较少迭代就超出边界。
阅读全文