• python中如何给散点图上面的特定点做标记


    今天想在散点图的某些特定的点外面画圆圈标记,从下面的文章找到一些灵感,只要在原来的散点图上面给指点添加相应的标志,设置其透明度就可以实现该想法。

    顺便复习下散点图的用法。

    大家平时为了直观地显示数据的分布情况,在画散点图的时候,简单地把数据点用圆点标出来,像这样:


    这样:

    ​ 


    还有这样:

    这里写图片描述

    欢迎光临程序代写小店https://item.taobao.com/item.htm?spm=a230r.1.14.59.255028c3ALNkZ0&id=586797758241&ns=1&abbucket=15#detail

    可直接联系客服QQ交代需求:953586085

    欢迎点击链接加入群聊【程序代写-接单群】共同致富:https://jq.qq.com/?_wv=1027&k=5WxihsL 

    群号:733065427

    然而今天我想给大家展示的散点图,或许没有那么直观地反映数据的分布情况,不够实用,但是真的很美很艺术,每个的点的颜色和大小都不一样,形状也是多变的。比如五角星的散点图: 

    这里写图片描述


    圆点的散点图: 

    这里写图片描述


    Y形的散点图: 

    这里写图片描述


    等等还有很多,那么这些漂亮的形状是怎么画出来的呢?其实代码很简单:

     
    1. from numpy import *;

    2. N = 50 # 点的个数

    3. x = np.random.rand(N) * 2 # 随机产生50个0~2之间的x坐标

    4. y = np.random.rand(N) * 2 # 随机产生50个0~2之间的y坐标

    5. colors = np.random.rand(N) # 随机产生50个0~1之间的颜色值

    6. area = np.pi * (15 * np.random.rand(N))**2 # 点的半径范围:0~15

    7. # 画散点图

    8. plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))

    9. plt.show()

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    这里用到一个matplotlib.pyplot子库中画散点图的函数 
    matplotlib.pyplot.scatter(x, y, s=20, c=None, marker='o', 
    cmap=None, norm=None, vmin=None, vmax=None, alpha=None, 
    linewidths=None, verts=None, edgecolors=None, hold=None, 
    data=None, **kwargs)
     
    这个函数接收的参数很多,有默认值的平时也不需要我们指定,是可选的,这次我们用到的除了基本的x ,y参数,还有c,s,alpha和marker,c就是为点指定的颜色数组,s是点的面积大小,alpha是点的颜色的透明度,marker是指定点标记的形状。在例子里指定透明度为0.5,c和s是随机生成的,我们要改变的是marker的值,marker有很多值可供选择,下表展示了在例子代码的基础上,改变marker的值后的效果:

    markerresult
    ”.”
    ”,”
    “o”
    “v”
    “^”
    “<”
    “>”
    “1”
    “2”
    “3”
    “4”
    “8”
    “s”
    “p”
    “*”
    “h”
    “H”
    “+”
    “x”
    “D”
    “d”
    “_”
    “None” 没错就是什么都没有。。。
    “$…$”
    (numsides, style, angle)
    eg:(9,0, 30) 
    注:numsides是边的个数,
    angle是旋转角度,
    style只有0,1,2,3四个值
    (numsides, style, angle)
    eg:(9,1, 30)
    (numsides, style, angle)
    eg:(9,2, 30)
    (numsides, style, angle)
    eg:(9,3, 30)
    注:此时numsides和angle的值自动被忽略

    …… 
    这么多种点的形状符号够我们用了吧~以后想用哪种查一下就好啦~

  • 相关阅读:
    linux下源码安装python3
    FTP 命令
    Linux Shell数值比较和字符串比较及相关
    mount umount sort du tar
    linux 自动检查ssh脚本
    删除linux访问记录(message删不了)
    h3c 备份脚本
    linux 批量scp 脚本
    Linux 删除几天前的文件脚本
    博达交换机镜像检查,镜像丢失自动添加脚本
  • 原文地址:https://www.cnblogs.com/chenbocheng/p/10839316.html
Copyright © 2020-2023  润新知