首页 > 编程知识 正文

python画两条曲线,python怎么画出函数像

时间:2023-05-03 08:55:49 阅读:261041 作者:427

2.3.1工具

python

matplotlib

pyplot

pyplot四Matplotlib中的模块,封装了很多处理graph的方法。绘制表格,修改表格属性都是用它实现的。

2.3.2例子

二次函数绘制方法

把二次函数图像变成点存储于list中

画直线的时候我们画了三个点,我们还可以画更多的点。点越多图像就越是一条直线,运用的思想是微积分的思想。如何生成很多点呢?python本身自带range()函数, 我们可以使用它来自动生成点的横坐标,但是range()只能自动生成间隔为自然数的数据。我们就需要自己写一个函数自动生成任意间隔的数据。

def frange(start,final,increment):

numbers=[]

while start

numbers.append(start)

start = start + increment

return numbers

a= frange(1,5,0.2)

print a

frange()函数是我们自己写的,用来生成任意间隔的数据。

在图表中显示出这些点。

from pylab import plot,show

这个方法是引用pylab模块,导入pylab模块的方法,然后就可以直接使用这些方法。

import matplotlib.pyplot as plt

这个方法是导入模块,然后实例化一个pyplot类对象。然后通过对象直接使用pyplot模块的方法,和上面的方法效果一样。

plt.style.use('ggplot')#使用"ggplot风格美化图表’

def create_graph(a,b,c,d,e):#定义图表函数

x = frange(d,e,0.02)#生成x轴坐标

y = []#定义y轴坐标数据类型

for i in x:

y.append(a*i**2+b*i+c)#y轴坐标数据计算

plt.plot(x,y)#把x、y轴坐标带入plot()画图。

plt.xlabel(u'x轴')#显示x轴名词,u是更改字符编码。

plt.ylabel(u'y')

plt.title(u'二次函数图像')

plt.show()#展示出来。

create_graph(1,2,1,-4,3)

如果直接在Matplotlib中使用中文会出现

报错:ValueError: matplotlib display text must have all code points < 128 or use Unicode strings

中文编码问题的解决方法只需在中文字符串前面加个u即可,表示使用Unicode编码。

2.3.3有没有现成的生成x轴坐标的python库

当然有现成的生成x轴坐标的库,numpy就是其中一个。NumPy是Python中科学计算的基础软件包。它是一个提供多了维数组对象,多种派生对象(如:掩码数组、矩阵)以及用于快速操作数组的函数及API,它包括数学、逻辑、数组形状变换、排序、选择、I/O 、离散傅立叶变换、基本线性代数、基本统计运算、随机模拟等等。

使用方法

import numpy as np

x = np.arange(-5, 5, 0.01)#可以自动生成x轴坐标,最小间隔为0.01

上面程序可以修改为

#-*- coding:utf-8 -*-

import matplotlib.pyplot as plt

import numpy as np

plt.style.use('ggplot')#使用"ggplot风格美化图表’

def create_graph(a,b,c,d,e):

x = np.arange(d,e,0.01)

y = a*x**2+b*x+c

plt.plot(x,y)

plt.xlabel(u"x轴")

plt.title(u'二次函数')

plt.show()

create_graph(1,2,3,-4,4)

这次函数写的简单多了,而且y值也不需要用for循环来生成,直接使用即可。

2.3.4 绘制数学函数图像

numpy功能很强大,可以涵盖很多数学函数,直接拿来使用即可。

import matplotlib.pyplot as plt

import numpy as np

pai =np.pi

x = np.arange(0,2*pai,0.01)

y = np.sin(x)

plt.plot(x,y)

plt.show()

例如正弦函数图像

感想

以前自己总是纳闷,计算上的函数图像到底是如何生成的,而且纳闷细腻,经过深入了解函数图像的生成过程,才懂得函数图像是一个点一个点绘制出来的,只要x轴数据足够多,加上计算机的强大计算能力,很快就能绘制出函数图像来。事情并不难,难的是没有方式和方法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。