Python中scatter函数参数及用法详解


Posted in Python onNovember 08, 2017

最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下:

1、scatter函数原型

Python中scatter函数参数及用法详解

2、其中散点的形状参数marker如下:

Python中scatter函数参数及用法详解

3、其中颜色参数c如下:

Python中scatter函数参数及用法详解

4、基本的使用方法如下:

#导入必要的模块 
import numpy as np 
import matplotlib.pyplot as plt 
#产生测试数据 
x = np.arange(1,10) 
y = x 
fig = plt.figure() 
ax1 = fig.add_subplot(111) 
#设置标题 
ax1.set_title('Scatter Plot') 
#设置X轴标签 
plt.xlabel('X') 
#设置Y轴标签 
plt.ylabel('Y') 
#画散点图 
ax1.scatter(x,y,c = 'r',marker = 'o') 
#设置图标 
plt.legend('x1') 
#显示所画的图 
plt.show()

结果如下:

Python中scatter函数参数及用法详解

5、当scatter后面参数中数组的使用方法,如s,当s是同x大小的数组,表示x中的每个点对应s中一个大小,其他如c,等用法一样,如下:

(1)、不同大小

#导入必要的模块 
import numpy as np 
import matplotlib.pyplot as plt 
#产生测试数据 
x = np.arange(1,10) 
y = x 
fig = plt.figure() 
ax1 = fig.add_subplot(111) 
#设置标题 
ax1.set_title('Scatter Plot') 
#设置X轴标签 
plt.xlabel('X') 
#设置Y轴标签 
plt.ylabel('Y') 
#画散点图 
sValue = x*10 
ax1.scatter(x,y,s=sValue,c='r',marker='x') 
#设置图标 
plt.legend('x1') 
#显示所画的图 
plt.show()

Python中scatter函数参数及用法详解

(2)、不同颜色

#导入必要的模块 
import numpy as np 
import matplotlib.pyplot as plt 
#产生测试数据 
x = np.arange(1,10) 
y = x 
fig = plt.figure() 
ax1 = fig.add_subplot(111) 
#设置标题 
ax1.set_title('Scatter Plot') 
#设置X轴标签 
plt.xlabel('X') 
#设置Y轴标签 
plt.ylabel('Y') 
#画散点图 
cValue = ['r','y','g','b','r','y','g','b','r'] 
ax1.scatter(x,y,c=cValue,marker='s') 
#设置图标 
plt.legend('x1') 
#显示所画的图 
plt.show()

结果:

Python中scatter函数参数及用法详解

(3)、线宽linewidths

#导入必要的模块 
import numpy as np 
import matplotlib.pyplot as plt 
#产生测试数据 
x = np.arange(1,10) 
y = x 
fig = plt.figure() 
ax1 = fig.add_subplot(111) 
#设置标题 
ax1.set_title('Scatter Plot') 
#设置X轴标签 
plt.xlabel('X') 
#设置Y轴标签 
plt.ylabel('Y') 
#画散点图 
lValue = x 
ax1.scatter(x,y,c='r',s= 100,linewidths=lValue,marker='o') 
#设置图标 
plt.legend('x1') 
#显示所画的图 
plt.show()

Python中scatter函数参数及用法详解

注:  这就是scatter基本的用法。

PS:下面举个示例

本文记录了python中的数据可视化——散点图scatter,令x作为数据(50个点,每个30维),我们仅可视化前两维。labels为其类别(假设有三类)。

这里的x就用random来了,具体数据具体分析。

label设定为[1:20]->1, [21:35]->2, [36:50]->3,(python中数组连接方法:先强制转为list,用+,再转回array)

用matplotlib的scatter绘制散点图,legend和matlab中稍有不同,详见代码。

x = rand(50,30) 
from numpy import * 
import matplotlib 
import matplotlib.pyplot as plt 
 
#basic 
f1 = plt.figure(1) 
plt.subplot(211) 
plt.scatter(x[:,1],x[:,0]) 
 
# with label 
plt.subplot(212) 
label = list(ones(20))+list(2*ones(15))+list(3*ones(15)) 
label = array(label) 
plt.scatter(x[:,1],x[:,0],15.0*label,15.0*label) 
 
# with legend 
f2 = plt.figure(2) 
idx_1 = find(label==1) 
p1 = plt.scatter(x[idx_1,1], x[idx_1,0], marker = 'x', color = 'm', label='1', s = 30) 
idx_2 = find(label==2) 
p2 = plt.scatter(x[idx_2,1], x[idx_2,0], marker = '+', color = 'c', label='2', s = 50) 
idx_3 = find(label==3) 
p3 = plt.scatter(x[idx_3,1], x[idx_3,0], marker = 'o', color = 'r', label='3', s = 15) 
plt.legend(loc = 'upper right')

result:

figure(1):

Python中scatter函数参数及用法详解

figure(2):

Python中scatter函数参数及用法详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中wx将图标显示在右下角的脚本代码
Mar 08 Python
Python科学计算环境推荐——Anaconda
Jun 30 Python
编写Python脚本来获取mp3文件tag信息的教程
May 04 Python
python检查字符串是否是正确ISBN的方法
Jul 11 Python
利用python画一颗心的方法示例
Jan 31 Python
对python的输出和输出格式详解
Dec 08 Python
Python中filter与lambda的结合使用详解
Dec 24 Python
Python实现图片识别加翻译功能
Dec 26 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
May 19 Python
记一次django内存异常排查及解决方法
Aug 07 Python
一篇文章搞懂python的转义字符及用法
Sep 03 Python
python 如何调用远程接口
Sep 11 Python
python实现人脸识别代码
Nov 08 #Python
python生成随机图形验证码详解
Nov 08 #Python
Python爬虫实例爬取网站搞笑段子
Nov 08 #Python
python执行使用shell命令方法分享
Nov 08 #Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 #Python
Python基础练习之用户登录实现代码分享
Nov 08 #Python
python实现简单中文词频统计示例
Nov 08 #Python
You might like
Zerg建筑一览
2020/03/14 星际争霸
PHP SQLite类
2009/05/07 PHP
PHP定时更新程序设计思路分享
2014/06/10 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
JavaScript window.setTimeout() 的详细用法
2009/11/04 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
2016/11/25 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
vue仿element实现分页器效果
2018/09/13 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
Python爬虫信息输入及页面的切换方法
2018/05/11 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
应届生求职信写作技巧
2013/10/24 职场文书
社团成立邀请函
2014/01/08 职场文书
英语教师求职信
2014/06/16 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
vue引入Excel表格插件的方法
2021/04/28 Vue.js
Java数据结构之堆(优先队列)
2022/05/20 Java/Android