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之传说中的函数编写条规
Oct 11 Python
Python实现统计英文单词个数及字符串分割代码
May 28 Python
Python算法应用实战之栈详解
Feb 04 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
django 使用 PIL 压缩图片的例子
Aug 16 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 Python
python不相等的两个字符串的 if 条件判断为True详解
Mar 12 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
Python绘图之二维图与三维图详解
Aug 04 Python
python 进程池pool使用详解
Oct 15 Python
conda安装tensorflow和conda常用命令小结
Feb 20 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
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
jQuery复合事件用法示例
2017/06/10 jQuery
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
python导入时小括号大作用
2017/01/10 Python
python如何让类支持比较运算
2018/03/20 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
毕业生的自我评价范文
2013/12/31 职场文书
幼儿园教学管理制度
2014/02/04 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
会议开幕词
2015/01/28 职场文书
故宫导游词
2015/01/31 职场文书