Если вы запустите код, который я привел ниже (python 2.7), вы обнаружите, что получившееся изображение темное и размытое и почти похоже, что на нем есть линии. Я понимаю, что использование функции рассеяния для построения такого рода, вероятно, является злоупотреблением функциональностью.Как улучшить плохое визуальное изображение наборов Джулии, сделанных с использованием matplotlib?
Я просмотрел документацию и заблудился в ней, и просто надеялся, что кто-то покажет мне, как заставить мои наборы Джулии выглядеть так же хорошо, как симпатичные цветные таблички, которые вы видите в книгах и онлайн.
import numpy as np
import matplotlib.pyplot as plt
# Plot ranges
r_min, r_max = -2.0, 2.0
c_min, c_max = -2.0, 2.0
# Even intervals for points to compute orbits of
r_range = np.arange(r_min, r_max, (r_max - r_min)/200.0)
c_range = np.arange(c_min, c_max, (c_max - c_min)/200.0)
c = complex(-0.624, 0.435)
xs = []
ys = []
colors = []
for comp in c_range:
for real in r_range:
z = complex(real, comp)
escaped = False
for i in range(0, 50):
z = z*z + c
if abs(z) > max(abs(c), 2):
escaped = True
# Colors correspond to escape speed
if i < 7:
colors.append((1.0 - .055* i, 0.0, 0.0))
if i >= 7 and i < 14:
colors.append((1.0 - .025*i, .6 - .025*i, 0))
if i >= 14 and i < 21:
colors.append((1.0 - .0035*i, 1.0 - .0045*i, 0.0))
if i >= 21 and i < 28:
colors.append((0.0, 1.0 - .0045*i, 0.0))
if i >= 28 and i < 35:
colors.append((0.0, 0.0, 1.0 - .0055*i))
if i >= 35 and i < 42:
colors.append((.435 - .0055*i, 0.0, 1.0 - .0055*i))
if i >= 42:
colors.append((0.62 - .005*i, 0, 1.0 - .005*i))
break
xs.append(real)
ys.append(comp)
# Points that don't escape are black
if escaped == False:
colors.append((0.0, 0.0, 0.0))
plt.axis([-2, 2, -2, 2])
plt.xlabel('x0')
plt.ylabel('c')
plt.scatter(xs, ys, c = colors, alpha = .2)
plt.show()
Edit: Вот результат выше - https://imgur.com/bdtZGVh