上一篇文章介紹的怎么話正弦圖,看到閱讀量與收藏數(shù)歡欣鼓舞,我也是開始學習python,希望通過寫文章記錄自己的學習歷程。
上次畫正弦圖用到了兩個庫
numpy,matplotlib.pyplot 同樣畫散點圖 也要用到這兩個庫。
新建sandian.py
內(nèi)容如下
import matplotlib.pyplot as plt
import numpy as np
n = 2048
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)
T = np.arctan2(Y,X)
plt.scatter(X,Y, s=75, c=T, alpha=.5)
plt.xlim(-1.5,1.5)
plt.ylim(-1.5,1.5)
plt.show()
然后執(zhí)行文件 顯示如下圖片
先看偉大的高斯分布(Gaussian Distribution)的概率密度函數(shù)(probability density function):
np.random.normal(loc=0.0, scale=1.0, size=None)
loc:float 此概率分布的均值(對應(yīng)著整個分布的中心centre)
scale:float 此概率分布的標準差(對應(yīng)于分布的寬度,scale越大越矮胖,scale越小,越瘦高)
size:int or tuple of ints 輸出的shape,默認為None,只輸出一個值
然后是arctan2函數(shù),這個函數(shù)接受兩個參數(shù),分別表示y數(shù)組和x數(shù)組,然后返回對應(yīng)的arctan(y/x)的值,結(jié)果是弧度制。
接下來用到了繪制散點圖的scatter方法,首先當然是傳入x和y數(shù)組,接著s參數(shù)表示scale,即散點的大小;c參數(shù)表示color,我給他傳的是根據(jù)角度劃分的一個數(shù)組,對應(yīng)的就是每一個點的顏色(雖然不知道是怎么對應(yīng)的,不過好像是一個根據(jù)數(shù)組內(nèi)其他元素進行的相對的轉(zhuǎn)換,這里不重要了,反正相同的顏色賦一樣的值就好了);最后是alpha參數(shù),表示點的透明度。
至于scatter函數(shù)的高級用法可以參見官方文檔scatter函數(shù)或者help文檔。
最后設(shè)置下坐標范圍就好了。