精华内容
下载资源
问答
  • python绘制函数图像

    2019-01-23 20:19:43
    python绘制函数图像代码,NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它...
  • Python绘制函数图像

    千次阅读 多人点赞 2020-06-03 21:44:09
    一元一次函数 一元二次函数 指数函数 正余弦函数 二元一次函数 二元二次函数 导入相关包 from mpl_toolkits.mplot3d import Axes3D import numpy as np from matplotlib import pyplot as plt plt.rcParams...

    目录

     

    导入相关包

    一元一次函数

     一元二次函数

     指数函数

    正余弦函数 

    二元一次函数

    二元二次函数


    导入相关包

    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
    from matplotlib import pyplot as plt
    plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

    一元一次函数

    # 一元一次函数图像
    x = np.arange(-10, 10, 0.1)
    y = 2 * x
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title("一元一次函数")
    plt.plot(x, y)
    plt.show()

     一元二次函数

    # 一元二次函数图像
    x = np.arange(-10, 10, 0.1)
    y = x * x
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title("一元二次函数")
    plt.plot(x, y)
    plt.show()

     指数函数

    # 指数函数
    x = np.arange(-10, 10, 0.1)
    y = np.power(2, x)
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title("指数函数")
    plt.plot(x, y)
    plt.show()

    正余弦函数 

    # 正弦函数
    x = np.arange(-3 * np.pi, 3 * np.pi, 0.1)
    y = np.sin(x)
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title("正弦函数")
    plt.plot(x, y)
    plt.show()
    
    # 余弦函数
    x = np.arange(-3 * np.pi, 3 * np.pi, 0.1)
    y = np.cos(x)
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title("余弦函数")
    plt.plot(x, y)
    plt.show()

    二元一次函数

    #  二元一次函数图像
    fig = plt.figure()
    ax = Axes3D(fig)
    x = np.arange(-100, 100, 1)
    y = np.arange(-100, 100, 1)
    X, Y = np.meshgrid(x, y)  # 网格的创建,生成二维数组,这个是关键
    Z = X + Y
    plt.xlabel('x')
    plt.ylabel('y')
    # 将函数显示为3d,rstride和cstride代表row(行)和column(列)的跨度cmap为色图分类
    ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
    plt.show()

    二元二次函数

    #  二元二次函数图像
    fig = plt.figure()
    ax = Axes3D(fig)
    x = np.arange(-100, 100, 1)
    y = np.arange(-100, 100, 1)
    X, Y = np.meshgrid(x, y)  # 网格的创建,生成二维数组,这个是关键
    Z = X*X + Y*Y
    plt.xlabel('x')
    plt.ylabel('y')
    # 将函数显示为3d,rstride和cstride代表row(行)和column(列)的跨度cmap为色图分类
    ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
    plt.show()

    展开全文
  • python 绘制函数图像

    万次阅读 2018-07-27 14:24:18
    import numpy as np import math import matplotlib.pyplot as plt plt.figure(1) x=[] y=[] a=np.linspace(0,10,100) def f1(x): y=1 return y def f2(x): y=1/(x*x+1) return y def f3(x): y...
    import numpy as np
    import math
    import matplotlib.pyplot as plt
    plt.figure(1)
    x=[]
    y=[]
    a=np.linspace(0,10,100)
    def f1(x):
        y=1
        return y
    def f2(x):
        y=1/(x*x+1)
        return y
    def f3(x):
        y=math.sin(x)/(math.exp(x)+1)
        return y
    for i in a:
        x.append(i)
        y.append(f3(i))
    plt.plot(x,y)
    plt.show()

     

    展开全文
  • P-2.2.0 用Python绘制函数图像

    万次阅读 2018-02-20 00:05:34
    在学习数学时,经常希望绘制2/3D的函数图像/图像帮助理解 以下是实现方法: 2D图像: from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import axes3d low=lambda x:...

    在学习数学时,经常希望绘制2/3D的函数图像/图像帮助理解
    以下是实现方法:

    2D图像:

    from matplotlib import pyplot as plt  
    import numpy as np  
    from mpl_toolkits.mplot3d import axes3d
    
    low=lambda x:10000 if x>10000 else -10000 if x<-10000 else x
    
    f=lambda x:x**5#设计一个函数
    
    start=-10 #输入需要绘制的起始值(从左到右)
    stop=10 #输入需要绘制的终点值
    step=0.01#输入步长
    
    
    num=(stop-start)/step #计算点的个数
    x = np.linspace(start,stop,num)
    y = f(x)
    
    for i in range(len(y)):#再应用一个low函数以防止函数值过大导致显示错误(可选)#若函数无法直接应用到np数组上可以使用for来逐个应用
        y[i]=low(y[i])
    z=y
    
    fig=plt.figure(figsize=(6,6))#建立一个对象并设置窗体的大小,使其为正方形,好看 #注意 可以建立多个对象,但plt指令只会对最后一个指定的对象进行操作(查看过源码了)
    
    plt.plot(x, y,label='First Curve')#在当前的对象上进行操作
    
    
    
    
    plt.grid(True)#显示网格
    
    plt.axis("equal")#设置了x、y刻度长度一致#需要放在x、ylim指令前
    plt.xlim((-10, 10))#显示的x的范围(不设置则由程序自动设置)
    plt.ylim((-10, 10))#显示的y的范围
    
    plt.plot([2*min(x),2*max(x)], [0,0],label='x-axis')#用定义域最长距离的两倍作出x轴
    plt.plot([0,0],[2*min(y),2*max(y)],label='y-axis')#用值域最长距离的两倍作出y轴
    plt.legend()#显示旁注#注意:不会显示后来再定义的旁注
    plt.show(fig)#没有输入值默认展示所有对象 #注意:plt.show()之后再次使用plt.show()指令将不会展示任何对象,若想再次展示对象,可以对对象使用fig.show()
    

    效果如图
    这里写图片描述

    3D图像

    一、3D曲线

    import numpy as np  #载入numpy
    import matplotlib.pyplot as plt  #载入matplotlib.pyplot
    from mpl_toolkits.mplot3d import Axes3D  #载入Axes3D用以实现3D作图
    
    
    
    fig=plt.figure(figsize=(6,6)) #创建一个对象(正方形窗体)#注意由于3D作图是设置'equal'没什么效果,且3D作图的缩放是等比例缩放所以只需要设定窗体为正方形并且不去变动窗体形状就可以保证x、y、z刻度长度一致
    ax=Axes3D(fig) #设置这个对象为3D作图的
    
    
    
    t=np.linspace(-1,1,100)#设置一个参数t
    
    #设计一个单变量的参数方程
    x=t
    y=t**3
    z=t
    
    
    
    
    ax.plot(x,y,z,label='First Curve') #用ax进行3D作画
    
    
    m=max(max(x),max(y),max(z))#求出x,y,z三个集合中的最大元素
    
    
    #用xyz中的最大元素建立直角坐标系,由于此时xyz三个方向上的最大最小值大小都相同,→此时xyz三轴的刻度长度是相等的(一举两得)
    ax.plot([-m,m],[0,0],[0,0],label='x-axis')
    ax.plot([0,0],[-m,m],[0,0],label='y-axis')
    ax.plot([0,0],[0,0],[-m,m],label='z-axis')
    
    ax.legend()
    ax.set_xlabel('x axis')#标注x、y、z轴帮助观察
    ax.set_ylabel('y axis')
    ax.set_zlabel('z axis')
    plt.show()
    

    值得注意的是:在上述两例中均使用的是plot函数来进行线性制图,这会将每个点按顺序连接起来,而我们也可以直接使用scatter函数(plt.scatter或ax.scatter)来进行散点制图。散点制图额外的优点是不会在函数数值极大时导致极远处的两个点被连成一条线影响美观影响判断

    二、3D曲面

    from matplotlib import pyplot as plt  
    import numpy as np  
    from mpl_toolkits.mplot3d import Axes3D  
    
    fig = plt.figure()  
    ax = Axes3D(fig)  
    x = np.arange(-2, 2, 0.1) #创建等差数组 与np.linspace类似但不相同(arange使用的是步长不是步数) 
    y = np.arange(-2, 2, 0.1)  
    x, y = np.meshgrid(x, y)
    #meshgrid生成两个新的矩阵,其中前一个矩阵中的每一个元素都在后一个矩阵中的相同位置有一个对应,且这个对应满足x中的每一个元素都与y中的每一个元素对应一次,这种对应的总数是x与y的元素数量之积,可以转化为一种组合。
    #在建立曲面的时候,我们需要两个变量(在参数方程中意为我们需要两个参数)。当这两个变量是有限个的时候我们需要分别考虑他们的每一种组合。meshgrid便提供了实现这件事的简便方法。
    
    
    z = x**2 + y**2-5 #这是一个经过平移的抛物面的方程,我们可以直接对x和y进行组合并求z来得到一个近似的抛物面图像(我们也可以把这个方程改写成参数方程并用参数的组合来得到一个近似的抛物面图像) #对矩阵**2并相加可以使对应元素各自平方并求和
    
    ax.plot_wireframe(x, y, z,label='First Surface')  #plot_wireframe可以创建网格式的平面(plot_surface可以创建平面但是程序运行较慢,适合截图不适合拖动)
    
    m=max(abs(x).max(),abs(y).max(),abs(z).max())#求出x,y,z三个集合中的最大元素
    
    
    #用xyz中的最大元素建立直角坐标系,由于此时xyz三个方向上的最大最小值大小都相同,→此时xyz三轴的刻度长度是相等的(一举两得)
    ax.plot([-m,m],[0,0],[0,0],label='x-axis')
    ax.plot([0,0],[-m,m],[0,0],label='y-axis')
    ax.plot([0,0],[0,0],[-m,m],label='z-axis')
    
    ax.set_xlabel('x axis')#标注x、y、z轴帮助观察
    ax.set_ylabel('y axis')
    ax.set_zlabel('z axis')
    plt.show()
    
    
    

    3D曲面效果如图
    这里写图片描述

    总结:
    1.matplotlib是一个复杂的功能强大多样的库,我们可以从中各取所需,不一定要学习透彻。
    2.由于函数与图像是多样的,所以在使用matplotlib辅助学习时要灵活调整其中的参数,不一定要与本文中的例子完全一样。

    更多matplotlib的使用方法见:http://blog.csdn.net/wizardforcel/article/details/54407212

    展开全文
  • 今天小编就为大家分享一篇使用python绘制二元函数图像的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Python 非常热门,但除非工作需要没有刻意去了解更多,直到有个函数图要绘制,想起了它。结果发现,完全用不着明白什么是编程,就可以使用它完成很多数学函数图的绘制。通过以下两个步骤,就可以进行数学函数绘制...

    Python 非常热门,但除非工作需要没有刻意去了解更多,直到有个函数图要绘制,想起了它。结果发现,完全用不着明白什么是编程,就可以使用它完成很多数学函数图的绘制。

    通过以下两个步骤,就可以进行数学函数的绘制了。

    两个步骤

    (1)安装 Anaconda

    Anaconda 包含了 Python 的运行环境、诸多科学计算库以及好些实用工具,安装它,有当前所需的一切。看它们的翻译,的确也是同类。

    6c878711f57a

    6c878711f57a

    直接运行安装即可,有点大。

    (2)编织代码运行

    运行 Anaconda Navigator,打开界面中的 Spyder,如下图:

    6c878711f57a

    进入编辑界面,我们以一个最简单的 y = x 函数为例输入以下代码:

    import numpy as np

    import matplotlib.pyplot as plt

    x = np.linspace(1, 10, 1000)

    y = x

    plt.plot(x,y,'r',linewidth=2)

    运行它就能看到已经有我们想要的结果。

    6c878711f57a

    关键解析

    这几行代码中,前两行是引入相应的功能库,Anaconda 已经包含了这些库,复制代码上去即可。最后一行是执行绘制。所以关键的代码以下两行。

    x = np.linspace(1, 10, 1000)

    y = x

    而第一行指明的是 x 的取值范围,x = np.linspace(1, 10, 1000)表示 x 的取值范围为 1 至 10,后边那个 1000 指的是细粒度,线是由点构成的,但点是无穷的,我们通过有限的点形成线,理论上点定义得越细线越精确。

    则我们只剩下第二行 y = x 的函数部分了,对于 y = f(x) 的函数,仅此一处写函数即可。试试:

    y = np.sin(x)

    6c878711f57a

    是不是完全只需要关心数据函数,如果你需要的就是这些,至此就可以了。

    更多控制

    若需要进一步的对坐标进行修饰,设置坐标轴标签,精准刻度等,可以参考:

    更多库功能:

    不得不提

    Anoconda 除了提供 Spyder 编辑工具,还提供 Jupyter notebook 工具,即所谓有文学编程工具(左手程序员,右手作家),了解它可参阅此文章:http://python.jobbole.com/87527/?repeat=w3tc

    以下为本文介绍的几个函数通过 Jupyter notebook 形成文档的一个示例:

    http://www.timeddd.com/sample/drawfunc.html

    效果如下:

    6c878711f57a

    展开全文
  • 作自己定义的函数图像,plot行显示name is not defined <code>X= float(input(" Please enter a number: ")) # tell the program are you an "enthusiast" ? A1= float(input("...
  • 博客文章: ...答案是有很多的,有很多不错的软件都能画出函数图像,但是,我想到了Python的数据可视化。Python在近些年非常火热,在数据分析以及深度学习等方面得到广泛地运用,其丰富的库使其功能愈.
  • 利用Python的Matplotlib库可以实现多元函数的可视化,以下以一段代码说明: 第三方库需求 Matplotlib(数据可视化) numpy(数学计算库) 代码 from matplotlib import pyplot as plt import numpy as np from mpl_...
  • python 绘制分段函数图像

    万次阅读 2019-01-17 19:20:06
    绘制分段函数:   首先导入matplotlib和numpy包: import matplotlib.plot as plt import numpy as np 规定x范围0-100,1000个点: x = np.linspace(0,100,1000) 设置区间: interval0 = [1 if (i&lt;...
  • Python 绘制函数图像

    2020-09-08 19:53:57
    import numpy as np import matplotlib.pyplot as plt x, y = np.mgrid[-2:2:500j, -2:2:500j] z = (x ** 2 + y ** 2 - 1) ** 3 - x ** 2 * y ** 3 plt.contourf(x, y, z, levels=[-1, 0]) plt.gca().set_aspect('...
  • 主要介绍了Python绘制正余弦函数图像的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 971
精华内容 388
关键字:

python绘制函数图像

python 订阅