Contour Plot

Himmelblau Function Contours

Multi-modal optimization function with four identical local minima.

Output
Himmelblau Function Contours
Python
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LinearSegmentedColormap

x = np.linspace(-5, 5, 200)
y = np.linspace(-5, 5, 200)
X, Y = np.meshgrid(x, y)
Z = (X**2 + Y - 11)**2 + (X + Y**2 - 7)**2
Z = np.log1p(Z)

fig, ax = plt.subplots(figsize=(10, 8), facecolor='#ffffff')
ax.set_facecolor('#ffffff')

# Custom colormap: mint to teal
colors = ['#ecfdf5', '#6ee7b7', '#27F5B0', '#0d9488']
cmap = LinearSegmentedColormap.from_list('mint_teal', colors, N=256)

cs = ax.contourf(X, Y, Z, levels=30, cmap=cmap)
ax.contour(X, Y, Z, levels=15, colors='#134e4a', linewidths=0.5, alpha=0.6)
cbar = plt.colorbar(cs, ax=ax, pad=0.02)
cbar.set_label('log(f(x,y))', color='#374151', fontsize=11)
cbar.ax.yaxis.set_tick_params(color='#374151')
plt.setp(plt.getp(cbar.ax.axes, 'yticklabels'), color='#374151')

ax.set_xlabel('X', fontsize=11, color='#374151', fontweight='500')
ax.set_ylabel('Y', fontsize=11, color='#374151', fontweight='500')
ax.set_title('Himmelblau Function Contours', fontsize=14, color='#1f2937', fontweight='bold', pad=15)

ax.tick_params(colors='#6b7280', labelsize=9)
for spine in ax.spines.values():
    spine.set_color('#d1d5db')

plt.tight_layout()
plt.show()
Library

Matplotlib

Category

Pairwise Data

Did this help you?

Support PyLucid to keep it free & growing

Support