python绘制一个简单的函数图像使用到了matplotlib库和numpy库

  • Post author:
  • Post category:python




效果展示:

在这里插入图片描述

在这里插入图片描述



视频链接


python绘制一个简单的函数图像(B站视频)



实现的思想

其实就是我们先把点给设置好,然后就可以描点连线了

就是使用的matplotlib这个包下面的pylib这个模块下面的 plot()和scantter()方法来实现的

这两个包的使用手册参考网址:


numpy使用参考手册


matplotlib的模块pylab参考手册



使用到的函数包

matplotlib 和 numpy

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索 matplotlib 的常见用法。

Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。

Matplotlib 可以用来绘制各种静态,动态,交互式的图表。

Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。

Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。

因为视频里面已经说的很清楚了这里我就直接上代码了



图片一对应的代码展示

图片一对应的代码运行代码之前一定要记得导包(导包方法视频里面有讲解)

图片一对应的代码

# 在这里我使用matplot的pyplot模块来绘制一个散点图,并且在里面添加上直线

import matplotlib.pylab as mp  # 绘制点的时候使用的是 matplotlib.pylab的scantter方法
import numpy as np  # 这是一个支持数组和矩阵计算的模块

# 让图片上面可以显示中文
mp.rcParams['font.sans-serif']=['SimHei']
mp.rcParams['axes.unicode_minus']=False

x = np.array([1,2,3,4,5,6,7,8])
y = np.array([1,4,9,16,7,11,23,18])
x_max = x.max()
x_min = x.min()
print("横坐标最大的是:",x_max)
y_min = y.min()
print("纵坐标最小的是:",x_min)

# 使用matplotlib.pylab 的scantter进行描点
mp.scatter(x,y,label="点点")
# 我想再让这些点连起来
mp.plot(x,y,color="red",label="直线")

# 我想画一条直线得到 y = y_min这一条直线
# 只用定义两个点 使用matplotlib.pyplot的plot方法将两个点连起来就可以了
lin_x = np.array([x_min,x_max])
lin_y = np.array([y_min,y_min])
mp.plot(lin_x,lin_y)

#设置一个标题
mp.title("离散点和quxian")
#让标签生效
mp.legend()
# 让图片显示出来
mp.show()





图片二 对应的代码展示

# 讲解一下Numpy这个库的一些函数
# 1.linspace(start , end , num)函数  就是在 start 和 end 之间随机生成num个数  返回的是一个数组
import numpy
import matplotlib.pylab as mp  #mp就是起了一个别名

# 解决一下图片里面不显示中文的问题
# 让画图软件可以显示中文字体, 默认只显示英文
mp.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号(同上)
mp.rcParams['axes.unicode_minus'] = False

average = 0;
x = numpy.linspace(average-3,average+3,50)
print(x)  # 我们就得到了 50个数

# 现在定义一个 二元函数 公式
y1 = 3* x **2 +1   # y此时也是一个数组
y2 = 3* x **2 + 4*x + 1

# 开始使用画图工具画图  画图工具的包是 matplotlib 里面的 pyplot模块的 plot方法
mp.plot(x,y1,label="line1")
# 上面我已经实现了在图片上面画一条函数图像 现在我再在图像添加一条线
mp.plot(x,y2,color="red",label="line2",linestyle="-.")

# 让前面的label生效
mp.legend()
# 添加一个标题
mp.title("二元函数图像")
# 让图像显示出来
mp.show()

# 还用很多pyplot画图的方法和属性 可以参考 菜鸟教程https://www.runoob.com/matplotlib/matplotlib-line.html




注意事项

使用代码前一定要导包

这里的两个函数都比较简单就没有用到其他的数学函数库

如果需要使用积分,PI,开方等一些比较负责的函数可以使用别的一些函数库

scipy:建立在numpy之上可以提供积分最优化统计和一些专用函数



版权声明:本文为qq_43064077原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。