2013-02-15 2 views
3

Facebook에서이 이미지를 발견하고 새로운 것을 배울 좋은 기회가 될 것으로 생각하여 음모를 꾸몄습니다.pyplot을 사용하여 복잡한 값을 반환하는 플로팅 함수

 love formula

코드 :

import numpy as np 
import scipy.special 
import pylab 

x = np.linspace(-1.0, 1.0, 200) 
y = np.sqrt( 1-np.square(np.complex64(x))) + np.complex64(scipy.special.cbrt(np.square(x))) 
pylab.plot(np.complex64(x), y) 
pylab.show() 

아웃풋 : 그림에 주어진

IMG http://i45.tinypic.com/33ab5g2.png

나는 음모를 얻을 수 없습니다입니다. 음모를 꾸미기 위해 수식을 y = f(x) 형식으로 재정렬하고 위 코드로 번역했습니다.

답변

7
import matplotlib.pyplot as plt 
import numpy as np 

y, x = np.ogrid[-1:2:100j, -1:1:100j] 
plt.contour(x.ravel(), y.ravel(), x**2 + (y-((x**2)**(1.0/3)))**2, [1]) 
plt.axis('equal') 
plt.show() 

enter image description here


당신은 곡선을 만들기 위해 가로 세로 비율로 재생할 수있는 좀 더 마음 같은 :

fig = plt.figure() 
ax = fig.add_subplot(1, 1, 1) 
y, x = np.ogrid[-1.5:2:1000j, -2:2:1000j] 
plt.contour(x.ravel(), y.ravel(), x**2 + (y-((x**2)**(1.0/3)))**2, [1]) 
ax.set_aspect(0.75) 
plt.show() 

enter image description here

관련 문제