I'm looking to create a program that will randomly generate lines (that are inequalities) and that will show the area that satisfies the constraints. If possible axes would go from 10 to -10 but I'm not too bothered if this is not possible.
I've tried a few things but I have no code that is really worth showing but I will show some code that I found that shows the kind of thing I'm looking for.
Let me know if you want anymore infomation.
import numpy as np
import matplotlib.pyplot as plt
x_1 = np.linspace(0, 30, 1000)
x_2 = np.linspace(0, 30, 1000)
# plot
fig, ax = plt.subplots()
fig.set_size_inches(14.7, 8.27)
# draw constraints
plt.axvline(7, color='g', label=r'$x_1 \geq 7$') # constraint 1
plt.axhline(8, color='r', label=r'$x_2 \geq 8$') # constraint 2
plt.plot(x_1, (2*(x_1)), label=r'$x_2 \leq 2x_1$') # constraint 3
plt.plot(x_1, 25 - (1.5*x_1), label=r'$1.5x_1 + x_2 \leq 25$') # constraint 4
plt.xlim((0, 25))
plt.ylim((0, 30))
plt.xlabel(r'Number of keyboards ($x_1$)')
plt.ylabel(r'Number of mice ($x_2$)')
# fill in the feasible region
plt.fill_between(x_1, np.minimum(25 - (1.5*x_1), (2*(x_1))), np.minimum(25 - (1.5*x_1), 8),
where=x_1 >= 7,
color='green', alpha=0.25)
plt.legend(bbox_to_anchor=(1, 1), loc=1, borderaxespad=0.)
# Hide the right and top spines
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
plt.grid()
plt.show()