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的Cookie.py模块支持冒号做key的方法
Dec 28 Python
python条件变量之生产者与消费者操作实例分析
Mar 22 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
May 29 Python
Flask之flask-session的具体使用
Jul 26 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
Python如何测试stdout输出
Aug 10 Python
python Cartopy的基础使用详解
Nov 01 Python
python切割图片的示例
Nov 12 Python
python爬虫使用scrapy注意事项
Nov 23 Python
详解python 条件语句和while循环的实例代码
Dec 28 Python
Python实现滑雪小游戏
Sep 25 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
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
高亮度显示php源代码
2006/10/09 PHP
PHP5 面向对象程序设计
2008/02/13 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
php一个找二层目录的小东东
2012/08/02 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
2017/12/19 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
理解Python中的With语句
2016/03/18 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
python机器学习库xgboost的使用
2020/01/20 Python
解决numpy矩阵相减出现的负值自动转正值的问题
2020/06/03 Python
详解vscode实现远程linux服务器上Python开发
2020/11/10 Python
Linux中如何用命令创建目录
2015/01/12 面试题
init进程的作用
2012/04/12 面试题
电气工程师岗位职责
2014/01/01 职场文书
高中运动会广播稿
2014/01/21 职场文书
农民工讨薪标语
2014/06/26 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
Python利用folium实现地图可视化
2021/05/23 Python