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 安装virtualenv和virtualenvwrapper的方法
Jan 13 Python
Python 实现选择排序的算法步骤
Apr 22 Python
Django+JS 实现点击头像即可更改头像的方法示例
Dec 26 Python
Pandas透视表(pivot_table)详解
Jul 22 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
Python求平面内点到直线距离的实现
Jan 19 Python
python剪切视频与合并视频的实现
Mar 03 Python
Python并发concurrent.futures和asyncio实例
May 04 Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 01 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
python与pycharm有何区别
Jul 01 Python
python模板入门教程之flask Jinja
Apr 11 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日历类分享
2014/11/18 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
2014/07/29 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
文案策划求职信
2014/04/14 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
第二次离婚起诉书
2015/05/18 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
Oracle 死锁的检测查询及处理
2021/09/25 Oracle
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android