溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中怎么繪制各種曲線

發(fā)布時(shí)間:2021-07-10 16:33:54 來源:億速云 閱讀:1025 作者:Leah 欄目:編程語言

本篇文章為大家展示了 Python中怎么繪制各種曲線,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

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()

通過numpy的linspace方法來確定橫坐標(biāo)x的取值范圍,列出方程,然后調(diào)用matplotlib的pyplot畫出函數(shù)曲線即可。numpy 是一個(gè)用python實(shí)現(xiàn)的科學(xué)計(jì)算包,包括一個(gè)強(qiáng)大的N維數(shù)組對(duì)象Array和成熟的函數(shù)庫,有用于整合C/C++和Fortran代碼的工具包,提供了實(shí)用的線性代數(shù)、傅里葉變換和隨機(jī)數(shù)生成函數(shù)等工具,可以理解成Matlab。

哪些看似抽象的數(shù)學(xué)公式,實(shí)際上是自己不知道她們的應(yīng)用場景而已。

Python中怎么繪制各種曲線

Python代碼如下:

import numpy as np  import matplotlib.pyplot as plt  X = np.linspace(0, 2 * np.pi, 100)  YSinValues = np.sin(X)  YCosValues = np.cos(X)  plt.plot(X, YSinValues)  plt.plot(X, YCosValues)  plt.show()

Matplotlib 是一個(gè) Python 的 2D繪圖庫,甚至可以生成出版質(zhì)量級(jí)別的圖形。

對(duì)于那些正態(tài)分布而言,Python 畫起來也就相當(dāng)簡單了:

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, sigma = np.mean(samples), np.std(samples)     plt.plot(X, pdf(X, mu, sigma), color = '.66')  plt.plot(X, pdf(X, 0., 1.), color = 'b')  plt.show()

為了不顯得單調(diào),這里多畫了幾條曲線。只要算出方差和均值,從excel中讀出哪些數(shù)值就可以擬合正態(tài)分布了。

Python中怎么繪制各種曲線

在直角坐標(biāo)系中,愛心線的方程的python 表達(dá)為: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 來求對(duì)應(yīng)的y值很麻煩,就像軟件設(shè)計(jì)中的“萬能層”那樣,可以采用參數(shù)方程來表示:

x=a*(2*cos(t)-cos(2*t))

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*(2*np.cos(t)-np.cos(2*t))  Y = a*(2*np.sin(t)-np.sin(2*t))  plt.plot(Y, X,color='r')  plt.show()

代表愛心的心形線來了:

Python中怎么繪制各種曲線

但這不是六行代碼呀?也不是r=a(1-sinθ)呀?的確如此,那是極坐標(biāo)系,python 的matplotlib同樣支持極坐標(biāo)系的,愛心線的六行pyton代碼如下:

這樣,得到如下圖像:

Python中怎么繪制各種曲線

心形線確實(shí)是愛心滿滿,如果融入了憂傷會(huì)是怎樣呢?

這樣就得到了另一個(gè)愛心線:

Python中怎么繪制各種曲線

上述內(nèi)容就是 Python中怎么繪制各種曲線,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI