2013-11-03 88 views
6

私はmatplotlibとPythonについて教えています。私は楕円曲線の方程式をプロットするのが難しいです。私はダウン式があるが、私は私がこれまでに自分自身を取得することができたので、これは、できるだけ多くのトラブルですy^2Python - matplotlib楕円曲線

をやっていないよ:

from mpl_toolkits.axes_grid.axislines import SubplotZero 
import matplotlib.pyplot as plt 
import numpy as np 
from pylab import * 


def plotGraph(): 
    fig = plt.figure(1) 
    ax = SubplotZero(fig, 111) 
    fig.add_subplot(ax) 

    for direction in ["xzero", "yzero"]: 
     ax.axis[direction].set_axisline_style("-|>") 
     ax.axis[direction].set_visible(True) 

    a = 5; b = 25 
    x = np.arange(-50.0, 50.0, 1.0) 
    y = pow(x,3) + a*x + b 

    xmin = -50; xmax = 50; ymin = -50; ymax = 50 
    v = [xmin, xmax, ymin, ymax] 
    ax.axis(v) 

    ax.plot(x, pow(y,2)) 

    #grid() 
    #ax.grid(color='r', linestyle='-', linewidth=2) 

    show() 


def main(): 
    plotGraph() 


if __name__ == '__main__': 
    main() 

axis()がある私もしようとしていたので、グリッドラインを使ってより鮮明なチャートを得ることができます。そして、私はgrid()もそれを処理すると思いますが、明らかにそうではないと思いました。私はまた、インタラクティブに、あなたが望むポイントをクリックして計算するようにしようとしていましたが、ドキュメントを見渡すと多くのインタラクションマウスオプションのように思えますが、クリックするとマウスイベントが発生しますチャート上のポイント(3回目の読書を終えても私はまだそれを見逃している)。

私はちょうどpyplot summary on matplotlibから行くつもりですが、私はここで間違っているのを見ていません。楕円曲線のプロットは消え去っており、近くではありません。

これはおそらく初心者の間違いですので、これを読むのに2番目の時間を要するジュニアプログラマが、私が望むカーブを得られない理由を非常にすぐに見ています。

答えて

12

はい、そうです、あなたはy^2をやっていません。 matplotlibので楕円曲線をプロットするには、私は(Pythonの3でテスト)このコードを使用:

import numpy as np 
import matplotlib.pyplot as plt 

def main(): 
    a = -1 
    b = 1 

    y, x = np.ogrid[-5:5:100j, -5:5:100j] 
    plt.contour(x.ravel(), y.ravel(), pow(y, 2) - pow(x, 3) - x * a - b, [0]) 
    plt.grid() 
    plt.show() 

if __name__ == '__main__': 
    main() 

私はこのプロットを持っている: enter image description here

は何が必要このですか?

+0

はい、ありがとうございました。私が手に入れようとしていたことの基本です。 +1して受け入れます。カーブ上の特定のポイントをハイライト表示する方法を知っていて、それらの間に線を引く方法があるかどうかはわかりません。 – stackuser

+0

ようこそ。私もどちらかとは分かりませんが、あなたが望むものの説明とともに別の質問を作成することができます。 – ilalex

関連する問題