"""
心形函數(shù):17*x^2 - 16*|x|*y + 17*y^2 = 225 ?:外心
"""
import numpy as np
import matplotlib.pyplot as plt
X=np.arange(-5.0,5.0,0.1)
Y=np.arange(-5.0,5.0,0.1)
x,y=np.meshgrid(X,Y)
f=17*x**2-16*np.abs(x)*y+17*y**2-225
"""
'8*x^2 - 9*|x|*y + 8*y^2 = 17': 內(nèi)心
"""
A = np.arange(-2.5, 2.5, 0.05)
B = np.arange(-2.5, 2.5, 0.05)
i,j = np.meshgrid(A,B)
f = 8 * i ** 2 - 9 * np.abs(i) * j + 8 * j ** 2 - 17
#繪制畫布
fig,ax=plt.subplots()
#大心,繪制登高線的函數(shù)contour
plt.contour(x,y,f,0,colors='r')
#小心袖肥,繪制登高線的函數(shù)contour
plt.contour(i,j,f,0,colors='r')
plt.title('My wife I love you')#圖標(biāo)題
plt.xlabel('I Love You 521')#x軸標(biāo)簽
plt.ylabel('I Love You 1314')#y軸標(biāo)簽
#注釋標(biāo)注YoYO
plt.annotate("YoYo",xy=(0,1.6),xytext=(-0.3,0.25),
arrowprops=dict(arrowstyle="->",facecolor='black'))
#注釋標(biāo)注CoCo
plt.annotate("CoCo",xy=(0,2.8),xytext=(-0.4,4),
arrowprops=dict(arrowstyle="->",facecolor='black'))
#斜線
lx=[-4,-2,0,2,4]
ly=[-4,-2,0,2,4]
plt.plot(lx,ly,"--",c="black")
#斜線的箭頭
plt.annotate("",xy=(4,4),xytext=(3.9,3.9),
arrowprops=dict(arrowstyle="->",facecolor='black'))
#ax.set_xticks([])#隱藏x軸
#ax.set_yticks([])#隱藏y軸
plt.grid() #網(wǎng)格
plt.show()