기본 콘텐츠로 건너뛰기

라벨이 labelcolor인 게시물 표시

[matplotlib]quiver()함수

함수의 그래프

다음 그림들은 전자책 파이썬과 함께하는 미분적분 의 1장과 2장에 수록된 그래프들과 코드들입니다. import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") #그림 1.1.3 x=np.linspace(0, 2, 20) y=3-x**2 x1=np.linspace(2, 7, 20) y1=2*x1-6 plt.figure(figsize=(4, 3)) plt.plot(x, y, color="g", label=r"y=3-$x^2$") plt.plot(x1, y1, color="brown", label="y=2x-6") plt.hlines(4, 0, -3, color="orange", label="y=4") plt.scatter(0, 4, color="orange") plt.scatter(0, 3, color="white", edgecolors="k") plt.scatter(2, -1, color="g") plt.scatter(2, -2, color="white", edgecolors="k") plt.xlabel("x", fontsize="11") plt.ylabel("y", fontsize="11") plt.legend(loc="upper center", labelcolor=["g", "brown", "orange"], frameon=False) plt.show() #그림 2.1.1 x=np.linsp...

함수의 그래프: 유리함수와 점근선

다음 그림들은 전자책 파이썬과 함께하는 미분적분 의 5.3장에 수록된 그래프들과 코드들입니다. import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") #그림 5.3.1 x=symbols('x') f=(x**2-1)/(x**2+x-6) x1, x2, x3=np.linspace(-6, -3.01, 30), np.linspace(-2.99, 1.99, 30), np.linspace(2.01, 6, 30) y1, y2, y3=[f.subs(x, i) for i in x1], [f.subs(x, i) for i in x2], [f.subs(x, i) for i in x3] plt.figure(figsize=(4, 3)) plt.plot(x1, y1, color="g", label="f(x)") plt.plot(x2, y2, color="g") plt.plot(x3, y3, color="g") plt.vlines(-3, -10, 10, ls="--", color="brown" , label="x=-3") plt.vlines(2, -10, 10, ls="--", color="brown" , label="x=2") plt.hlines(1, -6, 6, ls="--", color="r" , label="y=1") plt.xlabel("x",loc="right", fontsize="11") plt.ylabel("y", rotation="hori...

함수 그래프 그리기: 최대와 최소 찾기

작성된 그림은 전자책 파이썬과 함께하는 미분적분 에서 Chapter 5.1에서 소개한 여러 그래프들과 그 코드입니다. import numpy as np from sympy import * import matplotlib.pyplot as plt import seaborn as sns def tgline(slope, x0, y0, x): b=y0-slope*x0 re=slope*x+b return(re) def scantline(x0, y0, x1, y1, x): s, b=symbols("s, b") eq1=x0*s+b-y0 eq2=x1*s+b-y1 re=solve([eq1, eq2], (s, b)) re1=float(re[s])*x+float(re[b]) return(re1) CH 5.1 #그림 5.1.1 x=np.linspace(-4,4, 100) y=x**2 plt.figure(figsize=(4, 3)) plt.plot(x, y, color="g", label=r"f(x)=$x^2$") for i in np.arange(-3, 4): if i==-1: nme=r"$\frac{df(x)}{dx} < 0$" elif i==1: nme=r"$\frac{df(x)}{dx} \geq 0$" else: nme="" plt.plot(x, tgline(2*i, i, i**2, x), ls="--", alpha=0.5, color=['r' if i < 0 else 'b'][0], label=nme) plt.xlabel("x", loc="right", fontsize="11") plt.ylabel("y...