出处:http://blog.csdn.net/mg2flyingff/article/details/53415353

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

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

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


这样:  

还有这样:

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


圆点的散点图: 

Y形的散点图: 

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

from numpy import *;N = 50 # 点的个数
x = np.random.rand(N) * 2 # 随机产生50个0~2之间的x坐标
y = np.random.rand(N) * 2 # 随机产生50个0~2之间的y坐标
colors = np.random.rand(N) # 随机产生50个0~1之间的颜色值
area = np.pi * (15 * np.random.rand(N))**2  # 点的半径范围:0~15
# 画散点图
plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))
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的值后的效果:

marker result
”.”
”,”
“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的值自动被忽略

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

python中如何给散点图上面的特定点做标记相关推荐

  1. 如何在markdown(csdn)中打出某个字符上面的三角帽子符号

    如何在markdown(csdn)中打出某个字符上面的三角帽子符号 f^\widehat{f}f​ 输入: $\widehat{f}$ 输出: f^\widehat{f}f​

  2. 使用Matplotlib在Python中绘制三维散点图

    什么是Matplotlib? Matplotlib是Python中的一个库,用于创建静态和动态动画,并使用其内置函数绘制.它有很多内置特性和内置分析工具,用于分析任何图形或图表. 如果我们想绘制任何三 ...

  3. python中的正则表达式是干嘛的_操作python中的正则表达式(上)

    上次的爬虫最终获取了马蜂窝旅行评论页面的全部内容,其实很多都是无用信息,我们要进行筛选清洗,这就用到了正则表达式,在写爬虫后续之前先大概搞一下正则-- 先上代码吧,今天先搞一小部分: import r ...

  4. Python中MNE库的事件相关特定频段分析(MEG数据)

    最近做运动想象分类的时候遇到一个问题就是分类结果始终不准,想从原始数据分析一下脑电数据,找了下MNE提供的examples.里面还真有一个按频带分析的例子,说实话打开这个例子最主要的原因是这个图看着比 ...

  5. 捋一捋Python中的Dict(上)

    正式的Python专栏第28篇,同学站住,别错过这个从0开始的文章! 学委前面分享了tuple/list,在Python中还有一个非常常见的数据容器就是dict! 什么是dict? dict全称为di ...

  6. python中排序从小到大_Python实现对特定列表进行从小到大排序操作示例

    本文实例讲述了Python实现对特定列表进行从小到大排序操作.分享给大家供大家参考,具体如下: 1.在系统内新建文件rizhireplacelist.txt root@kali:~# cd pytho ...

  7. python中怎样在图片上画线段_python 实现PIL模块在图片画线写字

    图片上画线条 import sys from PIL import Image,ImageDraw im = Image.open("th.png") draw = ImageDr ...

  8. python打印指定行数的分割线_在Python中的分隔线上打印列表元素

    我正在尝试使用以下方法打印出Python路径文件夹: import sys print sys.path 输出是这样的: >>> print sys.path ['.', '/usr ...

  9. render在python中的含义_python-/ render()上的Django TypeError获得了意外的...

    当前在Azure上设置Django Web应用程序,并通过Git本地部署.我实际上还没有编写任何代码,当我使用以下命令启动开发服务器时 python3 manage.py runserver 并转到网 ...

最新文章

  1. OpenCV(一)图像读取与新建、图像显示、操作图像像素(2种涂色并比较算法优劣、输出RGB)
  2. [译] 解密 Airbnb 的数据科学部门如何构建知识仓库
  3. 软件项目开发流程RUP上
  4. 职业标准体系一般有几个层次划分_全国首个粤菜标准体系规划发布
  5. REST API解析
  6. 支持向量机实现鸢尾花数据集分类matlab
  7. mysql字符集排序规则_MySQL原理 - 字符集与排序规则
  8. 【远程沟通】“云答辩”“云招聘”双管齐下,解救“最难毕业生”
  9. matlab 垂直边缘检测,matlab 边缘检测
  10. Java经典设计模式:五大创建型模式
  11. 解决wordpress前后台非常卡的几个方法
  12. 学习大数据必须掌握哪些核心技术?
  13. 一个简单的Mastermind Game
  14. js base64 php,php中的base64decode 与js中的互相转换
  15. IDEA 创建 maven pom
  16. 调整物料的存货科目代码,会不会造成存货系统和总账对账不平?
  17. 如何启动Android SDK 1.5模拟器
  18. codeblocks配置glut
  19. 图像超分综述:超长文一网打尽图像超分的前世今生 (附核心代码)
  20. 蓝桥杯刷题冲刺 | 倒计时20天

热门文章

  1. Android 给RecyclerView添加头部和尾部
  2. EEPROM, NAND FLASH, NOR FLASH
  3. TextView和EditText的gettext()方法
  4. 写给初学者──如何学习C语言
  5. HashMap线程安全性问题
  6. django通用视图(CBV)
  7. 数据治理系列:浅谈数据质量管理
  8. c++中的pow()函数
  9. js控制网页动态效果
  10. php html5定位,HTML HTML5 地理定位 - 闪电教程JSRUN