import numpy as np import matplotlib.pyplot as plt x_width = 10 y_width = 10 while True: try: a=int(input("a= ")) b=int(input("b= ")) c=int(input("c= ")) break except ValueError: pass break p=-1*b/(2*a) q=-1*(b**2-4*a*c)/(4*a) fig = plt.figure(figsize=(5,5)) ax = fig.add_subplot(111) title1="y={}x**2{:+}x{:+},vertex({},{}),axis x={}" ax.set_title(title1.format(a,b,c,p,q,p), fontsize = 16) ax.set_xlim(-1*x_width+p,x_width+p) ax.set_ylim(-1*y_width+q,y_width+q) ax.arrow(0,-1*y_width+q,0,2*y_width-0.4,head_width=0.3,head_length=0.3,fc='k',ec='k') ax.arrow(-1*x_width+p,0,2*x_width-0.4,0,head_width=0.3,head_length=0.3,fc='k',ec='k') ax.text(-0.6,y_width-1.6+q,'y',fontsize=13) ax.text(x_width-0.6+p,0.6,'x',fontsize=13) ax.text(-0.6,0.2,'O',fontsize=13) ax.grid(which="major",axis="x",color="blue",alpha=0.8,linestyle="--",linewidth=1) ax.grid(which="major",axis="y",color="blue",alpha=0.8,linestyle="--",linewidth=1) x = np.arange(-1*x_width+p, x_width+p, 0.1) y = a*x ** 2+b*x+c ax.plot(x, y, color = "green") plt.show()