python學習筆記:兩個變量之間的互相關圖形和簡單動畫曲線

2020-12-07 ACGN漫步者

1.簡單動畫曲線(下圖實際上應該是動態圖)

import numpy as npfrom matplotlib import pyplot as plt#導入animation創建動畫from matplotlib import animation#生成圖紙,設置坐標軸中x,y的上下限以及動態變化的元素fig=plt.figure()ax=plt.axes(xlim=(0,2),ylim=(-2,2))#調用返回的相同線條line,=ax.plot([],[],linewidth=2)#初始化函數:繪製動畫每幀的背景def init():line.set_data([],[]) return line,#繪製動畫使用函數animate,i指動畫每幀的幀號def animate(i): x=np.linspace(0,2,1000) y=np.sin(2*np.pi*(x-0.01*i))*np.cos(22*np.pi*(x-0.01*i)) line.set_data(x,y) return line,#將上面定義的函數init和animate等價起來,設置幀數,間隔#blit = True表示僅重新繪製已更改的部分animator=animation.FuncAnimation(fig,animate,init_func=init, frames=200,interval=20,blit=True)plt.show()

figure1

2.對數圖與線形圖對比

figure2

from matplotlib import pyplot as pltimport numpy as np#x=np.linspace(1,10)代表創建1-10的等差數組,默認是50個# x = np.linspace(1,10,x),x可以設置任意大小x=np.linspace(1,10)#變量y被表示為x的指數函數y=[10**el for el in x]z=[2*el for el in x]#生成圖紙,設置圖紙大小fig=plt.figure(figsize=(10,8))#添加二行二列四個子圖中的第一個子圖ax1=fig.add_subplot(2,2,1)ax1.plot(x,y,color='darkblue')#從左側看,y軸列為對數刻度,從右側看,y軸列為線性刻度ax1.set_yscale('log')#設置標題名和y軸標籤名ax1.set_title(r'Logarithmic plot of $ {10}^{x} $')ax1.set_ylabel(r'$ {y}={10}^{x} $')#為所有的兩個坐標軸和和主次刻度打開網格顯示plt.grid(b=True,which='both',axis='both')#生成第二子圖ax2=fig.add_subplot(2,2,2)ax2.plot(x,y,color='deeppink')#變量y被表示為x的簡單線性函數ax2.set_yscale('linear')ax2.set_title(r'Linear plot of $ {10}^{x} $')ax2.set_ylabel(r'$ {y}={10}^{x} $')plt.grid(b=True,which='both',axis='both')#生成第三子圖ax3=fig.add_subplot(2,2,3)ax3.plot(x,z,color='green')ax3.set_yscale('log')ax3.set_title(r'Logarithmic plot of $ {2}^{x} $')ax3.set_ylabel(r'$ {y}={2}^{x} $')plt.grid(b=True,which='both',axis='both')#生成第四子圖ax4=fig.add_subplot(2,2,4)ax4.plot(x,z,color='red')ax4.set_yscale('linear')ax4.set_title(r'Linear plot of $ {2}^{x} $')ax4.set_ylabel(r'$ {y}={2}^{x} $')plt.grid(b=True,which='both',axis='both')plt.show()

3.兩個變量之間的互相關圖形

#導入繪圖所需要的包import matplotlib.pyplot as pltimport numpy as np# 第一組數據#生成365個浮點數,在0-1中隨機生成d1 = np.random.random(365)total1 = sum(d1)av1 = total1 / len(d1)z1 = [i - av1 for i in d1]# 第二組數據為第一組數據的每個值加1d2 = [i + 1 for i in d1]total2 = sum(d2)av2 = total2 / len(d2)z2 = [i - av2 for i in d2]#生成圖紙fig = plt.figure()#繪製三行一列的子圖一ax1 = fig.add_subplot(311)ax1.plot(d1)ax1.set_xlabel("random data in 0-1")#繪製三行一列的子圖二ax2 = fig.add_subplot(312)ax2.plot(d2)ax2.set_xlabel("365 random data")#繪製三行一列的子圖三ax3 = fig.add_subplot(313)ax3.set_xlabel('Cross correlation of random data')#使用xcorr函數,轉而調用numpy包中的correlate()函數,# 計算出相互關係並將其繪製到圖表的下半部#normed=True指進行歸一化處理,如果usevlines=True,則使用Axes.vline繪製從原點到acorr的垂直線#maxlags指最大滯後數ax3.xcorr(z1, z2, usevlines=True, maxlags=None, normed=True, lw=2)ax3.grid(True)#tight_layout會自動調整子圖參數,使之填充整個圖像區域。這是個實驗特性#可能在一些情況下不工作。它僅僅檢查坐標軸標籤、刻度標籤以及標題的部分。plt.tight_layout()plt.show()

figure3

相關焦點

  • 用Python動畫來展示二階貝賽爾曲線
    而今天我們就來說一下最簡單的二階貝塞爾曲線的推導,並用matplotlib進行展示。(實際上最簡單的是一階,但因為其只有一條直線,所以沒有什麼實際用途,就忽略了)我們先來了解一下二階貝賽爾曲線的原理。假如連在一起的兩條線段AB和BC,如下圖:
  • Python驗證碼識別:利用pytesser識別簡單圖形驗證碼
    ,涉及到計算機圖形學,機器學習,機器視覺,人工智慧等等高深領域……簡單地說,計算機圖形學的主要研究內容就是研究如何在計算機中表示圖形、以及利用計算機進行圖形的計算、處理和顯示的相關原理與算法。圖形通常由點、線、面、體等幾何元素和灰度、色彩、線型、線寬等非幾何屬性組成。計算機涉及到的幾何圖形處理一般有 2維到n維圖形處理,邊界區分,面積計算,體積計算,扭曲變形校正。對於顏色則有色彩空間的計算與轉換,圖形上色,陰影,色差處理等等。在破解驗證碼中需要用到的知識一般是 像素,線,面等基本2維圖形元素的處理和色差分析。
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    在網絡上看到幾位前輩寫了關於python深度學習庫的文章,對於小小白來說,因為我剛開始學python,我得承認自己看完後依然覺得雲裡霧裡的,不知道這些庫到底對我有什麼用處。所以我到網絡上搜集補充關於這些庫的說明內容,感覺在這個整理資料的過程中,對於這些python程序庫了解了更多,以下是我整理的學習筆記。
  • 完美契合人類習慣的Python變量和基本數據類型
    做科學計算和數據分析,變量是始終繞不開的話題。學習程序設計語言,理解了變量相當於掌握了一半。不過,不同程式語言對變量的定義、使用和釋放區別很大。Python中的變量到底是什麼,該怎麼樣掌握變量?從我接觸的語言中,Python和Matlab幾乎是最簡單的,特別容易掌握。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    (6套課程) 注:零基礎全能篇中,針對windows和liunx系統均有兩套課程可供選擇學習,單純學python,哪個系統都一樣,初學者只需選擇自己熟悉的系統學習相應課程即可。 因篇幅有限,以下展示的只是課程裡部分內容如對python課程有更多疑問 請諮詢客服 1零基礎入門全能班 01 –python簡介 02 第一個程序 03-python執行方式和pycharm設置 04-程序的注釋和算術運算符 05 程序執行原理 06變量的使用以及類型 07
  • 小白學數據:教你用Python實現簡單監督學習算法
    在監督學習中,我們首先導入包含有訓練屬性和目標屬性的數據集。監督學習算法會從數據集中學習得出訓練樣本和其目標變量之間的關係,然後將學習到的關係對新樣本(未被標記的樣本)進行分類。用數學表示,即Y = f(X)+ C,其中f表示學生學習時間和考試成績之間的關係X表示輸入(學習小時數)Y表示輸出(考試分數)
  • 「python學習手冊-筆記」003.數值類型
    003.數值類型本系列文章是我個人學習《python學習手冊(第五版)》的學習筆記,其中大部分內容為該書的總結和個人理解,小部分內容為相關知識點的擴展。非商業用途轉載請註明作者和出處;商業用途請聯繫本人(gaoyang1019@hotmail.com)獲取許可。
  • Python帶你找回童年的萬花尺
    $ python spiro.py --sparams 300 100 0.9圖2-6展示了輸出結果。如你所見,這段代碼根據用戶指定的參數繪製了一條螺線,圖2-5和它不同,展示了幾個隨機螺線的動畫。在這個項目中,我們將用Python來創建動畫,像萬花尺一樣繪製曲線。我們的spiro.py程序將用Python和參數方程來描述程序的萬花尺齒輪的運動,並繪製曲線(我稱之為螺線)。我們可以將完成的畫圖保存為PNG圖像文件,並用命令行選項來指定參數或生成隨機螺線。在這個項目中,我們將學習如何在計算機上繪製螺線。
  • 使用Python和Tesseract來識別圖形驗證碼
    很多時候驗證碼明明很簡單(對於非網際網路企業,或者企業內網中的應用來說特別如此),但因為沒有趁手的識別庫,也只能苦哈哈地進行人肉識別,或者無奈地放棄任務。在這裡,我分享一下自己使用Python和開源的tesseract OCR引擎做驗證碼識別的經驗,並提供相關的原始碼和示例供大家借鑑。
  • R相關與回歸學習筆記(三十五)——樣條函數變換、線性可加模型(一)
    自然樣條函數假定函數在最左邊一段和最右邊一段為線性函數, 這樣m個節點需要m+2個參數。 R的lm()函數中對自變量x指定ns(x) 可以對輸入的x指定作自然樣條變換, ns()可以用df=指定自由度作為曲線複雜度的度量。 如在多元回歸中也可以用ns(x)對單個自變量引入非線性。
  • python動態添加類對象成員:變量、函數
    /屬性和方法:python示例類給類對象動態添加成員變量Python方法很簡單,只需要給類對象的新變量賦值即可,如給示例代碼中的對象p新增性別變量sex:# 為p對象增加一個sex實例變量,直接聲明即可 p.sex = "男" print(p.sex
  • Python學習步驟
    Python10大特點:易於學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。易於閱讀:Python代碼定義的更清晰。【基礎篇】Python基礎 【提高篇】Python深入和擴展【擴展篇】網絡編程、多線程、擴展庫【高手篇】算法、Python源碼、函數式編程、手工實現神經網絡第一階段python開發基礎和核心特性
  • 數據科學的Python軟體包
    它還用於實現廣義線性模型,單變量,雙變量分析和假設檢驗。5. Matplotlib它是最著名的python數據可視化庫;您也可以說,如果您是Python和Data Science的讀者,那是您需要掌握的最基本的庫。它帶有各種直覺圖,例如直方圖,條形圖,功率圖,誤差圖等等。它可以與其他數據科學庫(例如NumPy和SciPy)一起使用,並繪製非常精確的二維圖形。
  • Python和R之間轉換的基本指南:有效學習另一種語言的簡單方法
    Python和R之間轉換的基本指南這裡介紹的方法與我們自學習外語的時候使用的方法是有共同之處的,例如我們要學習英語,可以使用以下三個關鍵的練習幫助我從笨拙地將中文單詞翻譯成英語,轉變為直接用英語思考和回答(英語思維)。把新的英語單詞和我已經知道的中文單詞關聯起來。把英語和中文的單詞作比較,使我能很快地領會這個生詞的意思。
  • 回歸分析兩個因變量 - CSDN
    轉自個人微信公眾號【Memo_Cleon】的統計學習筆記兩個概念:RR和OR二分類資料的logistic回歸SPSS操作示例幾個需要注意的問題:樣本量、啞變量、模型擬合效果和擬合優度檢驗、多重共線【1】兩個概念RR(Relative Risk):相對危險度,也稱危險比(Risk Ratio
  • 自相關和互相關函數計算方法總結及心得體會
    這個是信號分析裡的概念,他們分別表示的是兩個時間序列之間和同一個時間序列在任意兩個不同時刻的取值之間的相關程度,即互相關函數是描述隨機信號
  • Print在python中充當了什麼角色?變量和賦值語句又是什麼?
    在前篇我們講了python的數據類型,眾所周知,數據是計算機用來做運算用的,運算出來以後,得把結果輸出在計算機裡。那麼python是怎麼把結果輸出到計算機中的呢基本輸出函數 print。b:不能使用python的關鍵字做變量名,如:1、 合法的變量名:a a1 bbb _aaa _Abcd a22b3c2、 不合法的變量名:1a 123 $AA +a3、 python的關鍵字:true, false, None, is
  • mac使用python識別圖形驗證碼!
    在網上查了很多版本的圖形驗證碼識別,目前看到最多的兩個模塊是pytesseract和tesserocr,但是因為我這裡安裝tesserocr的時候各種出錯,所以最終我鎖定了使用pytesseract。那麼接下來,就記錄下安裝以及使用過程。這裡的系統環境是mac os 10.14.
  • 慢步學習,python語言編程,來扯扯語言的學習理解
    程式語言的學習,也在於累積程式語言語句的使用情景和效果。因此學習編程最有效的方式就是編寫實例程序。不在於程序的完備,在於理解程序原始碼的適用場景和效果。例如筆者之前寫的一個實例代碼對於編程老鳥筆者不敢說啥,但對於初學者,這樣的例子,真的很實用,簡短,容易理解,還具備一定的功能。
  • 使用Python玩轉高等數學(5):三角函數
    、條形圖、散點圖等統計圖形。安裝matplotlib最簡單的方法就是在作業系統的命令行窗口分別輸入並執行下面的命令:python -m pip install -U pip setuptoolspython -m pip install -U matplotlib使用matplotlib繪圖,會用到Numpy庫,Numpy庫主要用於科學計算。