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获取当前时间的方法
Jan 14 Python
用Python进行TCP网络编程的教程
Apr 29 Python
Python实现八大排序算法
Aug 13 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
Mar 19 Python
python中安装Scrapy模块依赖包汇总
Jul 02 Python
python生成tensorflow输入输出的图像格式的方法
Feb 12 Python
Python读写docx文件的方法
May 08 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
Python函数和模块的使用总结
May 20 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
图解Python中深浅copy(通俗易懂)
Sep 03 Python
python爬虫构建代理ip池抓取数据库的示例代码
Sep 22 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提取中文首字母
2008/04/09 PHP
php下载excel无法打开的解决方法
2013/12/24 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
PHP实现百度人脸识别
2019/05/06 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
javascript 写类方式之二
2009/07/05 Javascript
jquery插件之easing使用
2010/08/19 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
jQuery插件制作之参数用法实例分析
2015/06/01 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
怎样客观的做好自我评价
2013/12/28 职场文书
小学教师节活动方案
2014/01/31 职场文书
自动一体化专业求职信
2014/03/15 职场文书
供货协议书
2014/04/22 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python