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实现apahce网站日志分析示例
Apr 02 Python
python中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
python采集百度百科的方法
Jun 05 Python
python数据结构链表之单向链表(实例讲解)
Jul 25 Python
Python引用类型和值类型的区别与使用解析
Oct 17 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
如何在Django项目中引入静态文件
Jul 26 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
Apr 18 Python
Flask框架学习笔记之消息提示与异常处理操作详解
Aug 15 Python
Django restful framework生成API文档过程详解
Nov 12 Python
详解Python requests模块
Jun 21 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
php执行sql语句的写法
2009/03/10 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
js实现开关灯效果
2020/03/30 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
python安装numpy&安装matplotlib& scipy的教程
2017/11/02 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
基于python 取余问题(%)详解
2020/06/03 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
美国校园市场:OCM
2017/06/08 全球购物
检查接待方案
2014/02/27 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
我们的节日元宵活动方案
2014/08/23 职场文书
倡议书的写法
2014/08/30 职场文书
老干部工作汇报材料
2014/10/28 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
详细总结Python常见的安全问题
2021/05/21 Python