Contour Plot

Heat Conduction Pattern

Temperature distribution contours in a heated rectangular plate.

Output
Heat Conduction Pattern
Python
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LinearSegmentedColormap

x = np.linspace(0, 10, 200)
y = np.linspace(0, 8, 200)
X, Y = np.meshgrid(x, y)

# Heat equation solution approximation
Z = 100 * np.sin(np.pi * X / 10) * np.sinh(np.pi * Y / 10) / np.sinh(np.pi * 0.8)
Z = np.clip(Z, 0, 120)

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

# Temperature colormap: blue to red
colors = ['#dbeafe', '#60a5fa', '#fcd34d', '#F54927', '#9C2007']
cmap = LinearSegmentedColormap.from_list('thermal', colors, N=256)

cs = ax.contourf(X, Y, Z, levels=25, cmap=cmap)
ax.contour(X, Y, Z, levels=12, colors='#4b5563', linewidths=0.5, alpha=0.5)
cbar = plt.colorbar(cs, ax=ax, pad=0.02)
cbar.set_label('Temperature (°C)', 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 (cm)', fontsize=11, color='#374151', fontweight='500')
ax.set_ylabel('Y (cm)', fontsize=11, color='#374151', fontweight='500')
ax.set_title('Heat Conduction Pattern', 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