import numpy as np
import matplotlib.pyplot as plt
def sat(x):
return np.clip(x, -1, 1)
x = np.linspace(-2, 2, 200)
y = sat(x)
plt.figure(figsize=(5, 4))
plt.plot(x, y, color='blue', linewidth=2)
plt.axhline(0, color='black', linewidth=0.8)
plt.axvline(0, color='black', linewidth=0.8)
plt.text(2.1, 0, '$x$', va='center', ha='left', fontsize=12)
plt.text(0, 1.6, '$\\text{sat}(x)$', va='bottom', ha='center', fontsize=12)
plt.gca().set_axis_off()
plt.ylim([-1.5,1.5])
# Manually add x-tick labels
plt.text(-1, -0.15, '-1', ha='center', va='top', fontsize=11)
plt.text(1, -0.15, '1', ha='center', va='top', fontsize=11)
# Manually add y-tick labels
plt.text(-0.12, -1, '-1', ha='right', va='center', fontsize=11)
plt.text(-0.12, 1, '1', ha='right', va='center', fontsize=11)
# Dotted lines from (0,0) to (1,1) and (0,0) to (-1,-1)
plt.plot([0, 1], [1, 1], color='gray', linestyle='dotted', linewidth=1)
plt.plot([1, 1], [0, 1], color='gray', linestyle='dotted', linewidth=1)
plt.plot([0, -1], [-1, -1], color='gray', linestyle='dotted', linewidth=1)
plt.plot([-1, -1], [0, -1], color='gray', linestyle='dotted', linewidth=1)
plt.show()