python绘制马鞍曲线⽅程_奇技淫巧-Python绘制各种简单优美
曲线
matplotlib是著名的Python绘图库,它提供了⼀整套绘图API,⼗分适合交互式绘图。,解决数据分析和可视化问题,其实也是Python的拿⼿好戏。另外,在数据处理过程中会⽤到numpy。
例如,画出指定区间的⼀个多项式函数:
Python 代码如下:
import numpy as np
import matplotlib.pyplot as plt
X=np.linspace(-4, 4, 1024)
Y= .25 * (X + 4.) * (X + 1.) * (X - 2.)
plt.title('$f(x)=\\frac{1}{4}(x+4)(x+1)(x-2)$')
plt.plot(X, Y, c='g')
plt.show()
python代码画图案通过numpy的linspace⽅法来确定横坐标x的取值范围,列出⽅程,然后调⽤matplotlib的pyplot画出函数曲线即可。numpy 是⼀个⽤python实现的科学计算包,包括⼀个强⼤的N维数组对象Array和成熟的函数库,有⽤于整合C/C++和Fortran代码的⼯具包,提供了实⽤的线性代数、傅⾥叶变换和随机数⽣成函数等⼯具,可以理解成Matlab。
哪些看似抽象的数学公式,实际上是⾃⼰不知道她们的应⽤场景⽽已。
Python代码如下:
import numpy as np
import matplotlib.pyplot as pltjavascript库jquery版本
X=np.linspace(0, 2 * np.pi, 100)
YSinValues=np.sin(X)
s(X)
常量元素都有什么plt.plot(X, YSinValues)
plt.plot(X, YCosValues)
plt.show()
Matplotlib 是⼀个 Python 的 2D绘图库,甚⾄可以⽣成出版质量级别的图形。
对于那些正态分布⽽⾔,Python 画起来也就相当简单了:
import numpy as np
import matplotlib.pyplot as plt
def pdf(X, mu, sigma):
a=1. / (sigma * np.sqrt(2. * np.pi))
b= -1. / (2. * sigma ** 2)
return a * np.exp(b * (X - mu) ** 2)
X=np.linspace(-6, 6, 1000)
for i in range(3):
samples=np.random.standard_normal(10)
mu, an(samples), np.std(samples)
plt.plot(X, pdf(X, mu, sigma), color='.66')
plt.plot(X, pdf(X, 0., 1.), color='b')
plt.show()
为了不显得单调,这⾥多画了⼏条曲线。只要算出⽅差和均值,从excel中读出哪些数值就可以拟合正态分布了。
在直⾓坐标系中,爱⼼线的⽅程的python 表达为:x** 2+ y** 2 + a * x= a * sqrt(x** 2+y** 2) 和 x** 2+ y** 2 - a * x= a * sqrt(x** 2+y** 2)通过x 来求对应的y值很⿇烦,就像软件设计中的“万能层”那样,可以采⽤参数⽅程来表⽰:
x=a*(2*cos(t)-cos(2*t))
java的eclipse下载y=a*(2*sin(t)-sin(2*t))
具体的Python代码如下:
每次打开应用时都有广告import numpy as np
import matplotlib.pyplot as plt
a=1
t=np.linspace(0 , 2 * np.pi, 1024)
X=a*(s(t)-np.cos(2*t))
Y=a*(2*np.sin(t)-np.sin(2*t))
plt.plot(Y, X,color='r')
plt.show()
计算机应用技术培训
代表爱⼼的⼼形线来了:
但这不是六⾏代码呀?也不是r=a(1-sinθ)呀?的确如此,那是极坐标系,python 的matplotlib同样⽀持极坐标系的,爱⼼线的六⾏pyton代码如下:
这样,得到如下图像:
⼼形线确实是爱⼼满满,如果融⼊了忧伤会是怎样呢?
这样就得到了另⼀个爱⼼线:
⽹络上还有关于爱⼼线的各种漂亮实现,也充满了各种各样的情绪,但对于每⼀种,基本上都可以⽤python 相对简洁的实现。
实际上,绘图很简单,难的是那些曲线⽅程的表达以及实际的应⽤场景需求,⽐如螺旋线。
作为数据分析乃⾄⼤数据处理的最后⼀个环节,就是所谓洞见的可视化,Python 可以说是其中的⼀个简单实⽤的⼯具。
【责任编辑:庞桂⽟ TEL:(010)68476606】
点赞 0
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论