上一篇文章介绍的怎么话正弦图,看到阅读量与收藏数欢欣鼓舞,我也是开始学习python,希望通过写文章记录自己的学习历程。
上次画正弦图用到了两个库
numpy,matplotlib.pyplot 同样画散点图 也要用到这两个库。
新建sandian.py
内容如下
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()
然后执行文件 显示如下图片
先看伟大的高斯分布(Gaussian Distribution)的概率密度函数(probability density function):
np.random.normal(loc=0.0, scale=1.0, size=None)
loc:float 此概率分布的均值(对应着整个分布的中心centre)
scale:float 此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
size:int or tuple of ints 输出的shape,默认为None,只输出一个值
然后是arctan2函数,这个函数接受两个参数,分别表示y数组和x数组,然后返回对应的arctan(y/x)的值,结果是弧度制。
接下来用到了绘制散点图的scatter方法,首先当然是传入x和y数组,接着s参数表示scale,即散点的大小;c参数表示color,我给他传的是根据角度划分的一个数组,对应的就是每一个点的颜色(虽然不知道是怎么对应的,不过好像是一个根据数组内其他元素进行的相对的转换,这里不重要了,反正相同的颜色赋一样的值就好了);最后是alpha参数,表示点的透明度。
至于scatter函数的高级用法可以参见官方文档scatter函数或者help文档。
最后设置下坐标范围就好了。