Henon-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()
Loading BokehJS ...
import numpy as np
from bokeh.plotting import figure, show

# Henon map parameters
a = 1.4
b = 0.3

# Number of iterations and initial point
num_points = 10000
x0, y0 = 0.1, 0.3

# Generate points for the Henon map
x, y = [x0], [y0]
for _ in range(num_points - 1):
    x_new = 1 - a * x[-1]**2 + y[-1]
    y_new = b * x[-1]
    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 = ["#FFF7BC", "#FEC44F", "#FE9929", "#EC7014", "#CC4C02", "#993404", "#662506"]

# Create the Bokeh figure
p = figure(title="Henon Map Visualization",
           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