成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

奇技淫巧 - Python繪制各種簡單優美曲線

開發 后端
matplotlib是著名的Python繪圖庫,它提供了一整套繪圖API,十分適合交互式繪圖。,解決數據分析和可視化問題,其實也是Python的拿手好戲。另外,在數據處理過程中會用到numpy。

 matplotlib是著名的Python繪圖庫,它提供了一整套繪圖API,十分適合交互式繪圖。,解決數據分析和可視化問題,其實也是Python的拿手好戲。另外,在數據處理過程中會用到numpy。

例如,畫出指定區間的一個多項式函數:

Python 代碼如下: 

  1. import numpy as np  
  2. import matplotlib.pyplot as plt  
  3. X = np.linspace(-4, 4, 1024)  
  4. Y = .25 * (X + 4.) * (X + 1.) * (X - 2.)  
  5. plt.title('$f(x)=\\frac{1}{4}(x+4)(x+1)(x-2)$')  
  6. plt.plot(X, Y, c = 'g' 
  7. plt.show() 

通過numpy的linspace方法來確定橫坐標x的取值范圍,列出方程,然后調用matplotlib的pyplot畫出函數曲線即可。numpy 是一個用python實現的科學計算包,包括一個強大的N維數組對象Array和成熟的函數庫,有用于整合C/C++和Fortran代碼的工具包,提供了實用的線性代數、傅里葉變換和隨機數生成函數等工具,可以理解成Matlab。

哪些看似抽象的數學公式,實際上是自己不知道她們的應用場景而已。

Python代碼如下: 

  1. import numpy as np  
  2. import matplotlib.pyplot as plt  
  3. X = np.linspace(0, 2 * np.pi, 100)  
  4. YSinValues = np.sin(X)  
  5. YCosValues = np.cos(X)  
  6. plt.plot(X, YSinValues)  
  7. plt.plot(X, YCosValues)  
  8. plt.show() 

Matplotlib 是一個 Python 的 2D繪圖庫,甚至可以生成出版質量級別的圖形。

對于那些正態分布而言,Python 畫起來也就相當簡單了: 

  1. import numpy as np  
  2. import matplotlib.pyplot as plt  
  3. def pdf(X, mu, sigma):  
  4.    a = 1. / (sigma * np.sqrt(2. * np.pi))  
  5.    b = -1. / (2. * sigma ** 2)  
  6.    return a * np.exp(b * (X - mu) ** 2)  
  7. X = np.linspace(-6, 6, 1000)  
  8. for i in range(3):  
  9.    samples = np.random.standard_normal(10)  
  10.    mu, sigma = np.mean(samples), np.std(samples)  
  11.    plt.plot(X, pdf(X, mu, sigma), color = '.66' 
  12. plt.plot(X, pdf(X, 0., 1.), color = 'b' 
  13. 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))

y=a*(2*sin(t)-sin(2*t))

具體的Python代碼如下: 

  1. import numpy as np  
  2. import matplotlib.pyplot as plt  
  3. a = 1  
  4. t = np.linspace(0 , 2 * np.pi, 1024)  
  5. X = a*(2*np.cos(t)-np.cos(2*t))  
  6. Y = a*(2*np.sin(t)-np.sin(2*t))  
  7. plt.plot(Y, X,color='r' 
  8. plt.show() 

代表愛心的心形線來了:

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

這樣,得到如下圖像:

心形線確實是愛心滿滿,如果融入了憂傷會是怎樣呢?

這樣就得到了另一個愛心線:

網絡上還有關于愛心線的各種漂亮實現,也充滿了各種各樣的情緒,但對于每一種,基本上都可以用python 相對簡潔的實現。

實際上,繪圖很簡單,難的是那些曲線方程的表達以及實際的應用場景需求,比如螺旋線。

作為數據分析乃至大數據處理的最后一個環節,就是所謂洞見的可視化,Python 可以說是其中的一個簡單實用的工具。 

 

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2017-08-18 13:30:01

前端CSS布局奇技

2020-05-20 19:38:11

前端js調試工具

2022-01-07 14:50:46

VS CodeLinux代碼

2021-04-12 06:09:38

Spring擴展點應用

2023-06-26 08:05:36

2022-09-30 12:55:14

Linux筆記

2017-10-24 13:42:55

流氓App安卓Google

2021-03-30 07:47:46

SVG 濾鏡 CSS技巧

2023-09-19 08:03:50

rebase?merge

2022-04-21 15:00:53

LinuxShell

2021-06-07 12:20:14

LinuxASCII命令

2024-11-28 09:21:00

Python字符串代碼

2022-04-24 16:00:15

LinuxLinux命令ls命令

2015-04-13 13:21:45

JavaScript JavaScript

2021-02-25 09:19:11

LinuxAppimage命令

2021-05-18 13:05:31

LinuxRust復用器

2021-05-07 13:56:13

Linux器監視服務器

2019-04-25 13:10:04

Java 8Stream API編程語言

2021-05-31 11:45:37

LinuxRustShell

2019-05-28 14:33:07

Javascript運算符前端
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区免费 | 国产精品视频在线观看 | 中文字幕一区在线观看视频 | 欧美激情综合色综合啪啪五月 | 国产中文在线观看 | 欧美亚洲日本 | 日韩av一区二区在线观看 | 在线日韩 | 国产乱码精品一区二区三区中文 | 超碰在线久| 精品欧美一区二区三区久久久 | 亚洲综合色站 | 国产福利视频 | 最新国产在线 | 国产成人高清视频 | 亚洲一区中文字幕 | 成人永久免费 | 日本超碰 | 久久久www成人免费精品 | 亚洲毛片网站 | 亚洲午夜av | 国产精品视频久久久 | 久久精品久久久久久 | 一级全黄少妇性色生活免费看 | 五月激情六月婷婷 | 亚洲午夜精品久久久久久app | 永久精品 | 日韩中文字幕 | 欧美成人一级视频 | 欧美电影网 | 国产农村妇女精品一二区 | 精品欧美一区二区三区久久久 | 成人福利视频 | 亚洲欧美国产精品久久 | 国产视频线观看永久免费 | 青草久久免费视频 | 亚洲一区在线播放 | 成人免费视频网站在线观看 | 97精品视频在线观看 | 成人欧美一区二区三区在线观看 | 国产三级精品视频 |