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微信库itchat实现微信自动回复功能
May 18 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
Python爬虫实例扒取2345天气预报
Mar 04 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
基于python代码实现简易滤除数字的方法
Jul 17 Python
python按照多个条件排序的方法
Feb 08 Python
python flask框架实现重定向功能示例
Jul 02 Python
浅谈Python中的异常和JSON读写数据的实现
Feb 27 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
Jun 11 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 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实现快速排序法函数代码
2012/08/27 PHP
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
移动节点的jquery代码
2014/01/13 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
跟老齐学Python之编写类之二方法
2014/10/11 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
python实现决策树分类算法
2017/12/21 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
对tensorflow中的strides参数使用详解
2020/01/04 Python
美国摄影爱好者购物网站:Focus Camera
2016/10/21 全球购物
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
2014年公司庆元旦活动方案
2014/03/05 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
工伤调解协议书
2016/03/21 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书