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条件和循环的使用方法
Nov 01 Python
在Python中用split()方法分割字符串的使用介绍
May 20 Python
Python实现导出数据生成excel报表的方法示例
Jul 12 Python
Python中进程和线程的区别详解
Oct 29 Python
python实现用户管理系统
Jan 10 Python
pandas实现选取特定索引的行
Apr 20 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
django 自定义过滤器的实现
Feb 26 Python
python中的itertools的使用详解
Jan 13 Python
如何使用 Flask 做一个评论系统
Nov 27 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
德生PL550的电路分析
2021/03/02 无线电
建立动态的WML站点(二)
2006/10/09 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
PHP的简易冒泡法代码分享
2012/08/28 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
Jquery中Event对象属性小结
2015/02/27 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
利用python画出AUC曲线的实例
2020/02/28 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
工程管理专业个人求职信范文
2013/12/07 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
装饰活动策划方案
2014/02/11 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
导师评语大全
2014/04/26 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
道歉信怎么写
2015/05/12 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书