matplotlib模块数据可视化-绘制散列图

来源:互联网 发布:远程关掉电脑软件 编辑:程序博客网 时间:2024/06/05 00:25

1. 说明

散列图就是,在画布上绘制一些点,这些点不会自动连接成线,只是以点的形式进行,可以通过图像上点的密度判断数据分布情况。

2. 源码及注释

import numpy as npimport matplotlib.pyplot as pltn = 1024    # data size# 从标准正态分布曲线上随机取n个点,第二个参数越大越离散y1 = np.random.normal(0, 1, n) # 每一个点作为绘图的X坐标y2 = np.random.normal(0, 1, n) # 每一个点作为绘图的y坐标# 根据坐标点生成一个数值作为颜色值y3 = np.arctan2(y2,y1)# s:绘制点的大小# c:绘制点的颜色,可以是单一色值,也可以是列表,颜色会顺序对应给对应点的# marker:点的样式,有‘o’圆点,'+'加号,还有很多,查看官方~matplotlib.markers.MarkerStyle,默认'o'# linewidth:‘o’圆点模式下的边框宽度,设置成0,圆点没有边框# alpha:透明度plt.scatter(y1, y2, s=75, c=y3, alpha=0.5,marker='o',linewidths=0)plt.xlim(-3,3)plt.ylim(-3,3)# 把坐标轴上的标识更换为空(不显示坐标轴刻度)plt.xticks(())plt.yticks(())plt.show()

3. 效果图

由于我们从标准正态分布曲线上取的数据,所以数据比较集中,散点图会集中在图片中间,中间密度比较大;并且根据参数不同,样式不同,我们做几个常用参数变化是图例,其他样式,大家自行尝试。

3.1 marker='o'(默认,可以不设置),linewidth不等于0,默认1,也不可以不设置



3.2 marker='o',linewidth=0

marker='o'为默认值,可以不设置,边框线宽设置为0,圆点将会没有边框,效果图:



3.3 marker='+'

这时候每个点都以+号的形式进行显示,更多样式请参看官方文档,效果图:



文章在代码中对主要参数做了一些解释,这些只是比较常用的参数,如果满足不了大家的需求,可以通过help()和dir()查看,或者直接查看官方文档,如有不懂的也可以留言交流,愿在此与你们共同进步,谢谢。



原创粉丝点击