首页 > 编程知识 正文

python用matplotlib画折线,python matplotlib绘制折线

时间:2023-05-05 11:51:03 阅读:210040 作者:2068

强大的Python-使用NumPy和Matplotlib绘制数学(双纽线,阿基米德螺线,心形线)

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。

首先使用pip下载numpy和matplotlib

双纽线

import numpy as np
import matplotlib.pyplot as plt
alpha = 1
#numpy.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的,格式如下:
#np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
#start    序列的起始值
#stop    序列的终止值,如果endpoint为true,该值包含于数列中
#num    要生成的等步长的样本数量,默认为50
#endpoint    该值为 ture 时,数列中中包含stop值,反之不包含,默认是True。
#retstep    如果为 True 时,生成的数组中会显示间距,反之不显示。
#dtype    ndarray 的数据类型
theta = np.linspace(0,2*np.pi,num=500)
x = alpha * np.sqrt(2) * np.cos(theta) / (np.sin(theta)**2+1)
y = alpha * np.sqrt(2) * np.cos(theta) * np.sin(theta)/(np.sin(theta)**2+1)
plt.title(r"$rho^{2}=a^{2}cos 2thetaquad a=1$")
plt.plot(x,y)
plt.grid()
plt.show()

阿基米德螺线

import numpy as np  #阿基米德螺线
import matplotlib.pyplot as plt
#Numpy 中 arange() 主要是用于生成数组 具体用法如下:
#numpy.arange(start stop step  dtype = None)
#start 开始位置 数字,可选项 默认起始值为0
#stop 停止位置 数字
#step 步长 数字 可选项 默认步长为1 如果指定了step 则还必须给出start
#dtype 输出数组的类型 如果未给出dtype 则从其他输入参数推断数据类型
t = np.arange(-3*np.pi,3*np.pi,0.01)
x = t*np.cos(t)
y = t*np.sin(t)
plt.title(r"$rho=athetaquad a=1$")
plt.plot(x,y)
plt.show()
plt.plot(x,y)
plt.grid()
plt.show()

心形线

r=a(1-sinθ)

import matplotlib.pyplot as plt #心形线
import numpy as np
t = np.arange(0, 2*np.pi,0.01) 
x = 20 * np.sin(t) **3
y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)
plt.plot(x,y)
plt.grid()
plt.show()

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