分享

python 画散点图

 天天向上HotRun 2017-12-21

上一篇文章介绍的怎么话正弦图,看到阅读量与收藏数欢欣鼓舞,我也是开始学习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文档。

最后设置下坐标范围就好了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约