Bogdanov-Map
Sat 17 May 2025
from bokeh.plotting import figure, output_file, show
from bokeh.io import output_notebook
from bokeh.models import ColumnDataSource
# Set Bokeh output to notebook
output_notebook()
import numpy as np
from bokeh.plotting import figure, show
# Bogdanov map parameters (rescaled for stability)
a = 0.1
b = 0.05
# Number of iterations and initial conditions
num_points = 10000
x0, y0 = 0.1, 0.1
# Generate points for the Bogdanov map
x, y = [x0], [y0]
for _ in range(num_points - 1):
x_new = x[-1] + y[-1]
y_new = a * y[-1] + b * x[-1]**2
# Clip values to avoid runaway growth
if abs(x_new) > 1000 or abs(y_new) > 1000:
break
x.append(x_new)
y.append(y_new)
# Split data into segments for multi-line
num_segments = 7
xs = np.array_split(x, num_segments)
ys = np.array_split(y, num_segments)
# Define a color palette
colors = ["#FEE0D2", "#FC9272", "#FB6A4A", "#EF3B2C", "#CB181D", "#A50F15", "#67000D"]
# Create the Bokeh figure
p = figure(title="Bogdanov Map Visualization (Corrected)",
background_fill_color="#f9f9f9",
x_axis_label="X",
y_axis_label="Y",
match_aspect=True)
# Add the multi_line glyph
p.multi_line(xs, ys, line_color=colors, line_alpha=0.8, line_width=1.5)
# Show the plot
show(p)
Score: 5
Category: bokeh