Python - matplotlib椭圆曲线

sta*_*ser 10 python matplotlib elliptic-curve python-2.7 finite-field

我正在自学matplotlib和Python,我很难绘制椭圆曲线的方程.我有等式,但我没有做y^2

这和我到目前为止所遇到的一样麻烦:

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()
Run Code Online (Sandbox Code Playgroud)

axis()是有,因为我也试图让与网格线更清晰,看图表,我认为这grid()也将采取照顾,但显然不是.我也打算尝试做,你点击你想要的点它互动,它计算的,但看那边好像有很多的互动鼠标选项的文档,但我没有看到,点击创建一些事件鼠标交互在图表上的一个点上(在第三次阅读之后我仍然想念它).

我只是从出上matplotlib pyplot总结,但我没有看到我在做什么错在这里.椭圆曲线的图是偏离的,甚至没有接近.

这可能是一个初学者的错误,所以一个需要一秒钟阅读本文的初级程序员可能会很快看到为什么我没有得到我想要的曲线.

ila*_*lex 21

是的,你是对的,你没有做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()
Run Code Online (Sandbox Code Playgroud)

我有这个情节: 在此输入图像描述

这是你需要的吗?