matplotlib 知识点13:绘制散点图(scatter函数精讲)
散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。
用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点。值由点在图表中的位置表示。类别由图表中的不同标记表示。散点图通常用于比较跨类别的聚合数据。
散点图通常用于显示和比较数值,例如科学数据、统计数据和工程数据。
初认识:使用numpy包的random
函数随机生成100组数据,然后通过scatter函数绘制散点图。
#!/usr/bin/env python
#!-*-coding:utf-8 -*-
#!@Author : Biyoulin
#!@Time : 2018/9/2 14:40 import matplotlib.pyplot as plt
import numpy as np plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 N = 100
x = np.random.randn(N)
y = np.random.randn(N)
plt.scatter(x,y) plt.title("散点图示例01") #显示图表名称
plt.xlabel("x轴") #x轴名称
plt.ylabel("y轴") #y轴名称
plt.text(+1.2,-3,"By:biyoulin",fontsize=16,color="purple") plt.show()
scatter函数格式:
scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None,
vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None,
hold=None, data=None, **kwargs):
scatter函数参数详解,英文原版请参见:matplotlib官网scatter函数:
x,y:形如shape(n,)的数组,可选值,
s: 点的大小(也就是面积)默认20
c: 点的颜色或颜色序列,默认蓝色。其它如c = 'r' (red); c = 'g' (green); c = 'k' (black) ; c = 'y'(yellow)
marker:标记样式,可选值,默认是圆点;
cmap: colormap,用于表示从第一个点开始到最后一个点之间颜色渐进变化;
norm: normalize,
vmin:
vmax:
alpha: 设置标记的颜色透明度,可以理解为颜色属性之一
linewidths: 设置标记边框的宽度值
verts:
edgecolors: 设置标记边框的颜色
hold:
data:
**kwargs:
scatter()函数各参数示例:
1、x,y:横纵坐标,数据坐标(data position)
import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5)
plt.show()
2、marker : 图标,默认的是“.”,也可以是其它形状,想了解更多的,请参见:matplotlib 学习笔记02:marker标记详解。下面例子将marker设置成了“d”(diamond形状):
import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,marker='d')
plt.show()
也可以是文字:
import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,marker='$biyoulin$')
plt.show()
上面的文字是不是看不到?因为字体太小了,通过参数s(size)可以调整“点”的大小。
3、s : size,字体大小,默认值为20;
import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,marker='$biyoulin$')
plt.show()
到目前为止几个例子中的“点”都是蓝色的,可以通过调整c(color)参数来设置颜色:
4、c : color,色彩会颜色序列,默认是'b'(蓝色),可支持的颜色参数如下:
b | c | g | k | m | r | w | y |
blue | cyan | green | black | magenta | red | white | yellow |
蓝色 | 青色 | 绿色 | 黑色 | 洋红 | 红色 | 白色 | 黄色 |
import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,c='r',marker='$biyoulin$')
plt.show()
5、alpha:可以理解为颜色的属性之一 ,即透明度,alpha的范围为[0,1],从透明到不透明,上面的例子中 alpha为1,可以看看0.5的效果:
import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,c='r',alpha=0.5,marker='$biyoulin$')
plt.show()
6、edgecolors:the edge color of marker,顾名思义“边”的颜色,设置标记边框的颜色,下面的例子中,将边的颜色设置了为蓝色:
import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,c='r',alpha=1,marker='d',edgecolors='b')
plt.show()
可能有人会问,看不出来“边”的颜色是蓝色。没关系,通过设置linewidths,就容易看出来了。
7、linewidths:the edge size of the marker,设置标记边框的宽度;
import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,c='r',alpha=1,marker='d',linewidths=10
,edgecolors='b')
plt.show()
8、cmap:A colormap is a series of colors in a gradient that moves from a starting to ending color。注意到是“a series of”,这个参数用于多个点之间,只有一个点就无意义了。注意到“gradient”即量级、程度,用于表示从第一个点开始到最后一个点之间颜色渐进变化。
import matplotlib.pyplot as plt
x1=list(range(0,60))
y1=list(range(0,60))
plt.scatter(x=x1,y=y1,marker='d',s=10,c=y1,cmap=plt.cm.Reds)
plt.show()
注意到c=y1,不再是颜色的名称,这里是一个序列,并且值等于“点”数量值(如果不匹配,则会出错)。只有c是一个array或一个sequence,用cmap才有意义。
参考博文:https://www.cnblogs.com/sunshinewang/p/6853813.html
https://blog.csdn.net/zidephagino/article/details/80777906
作者:biyoulin
出处:http://www.cnblogs.com/biyoulin/
版权声明:本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
matplotlib 知识点13:绘制散点图(scatter函数精讲)的更多相关文章
- matplotlib画图工具/绘制散点图
绘制散点图 import matplotlib.pyplot as plt fig=plt.figure() ax = fig.add_subplot(111) ax.scatter(x,y, s,c ...
- matplotlib 知识点11:绘制饼图(pie 函数精讲)
饼图英文学名为Sector Graph,又名Pie Graph.常用于统计学模块. 画饼图用到的方法为:matplotlib.pyplot.pie( ) #!/usr/bin/env python # ...
- 使用matplotlib.pyplot中scatter()绘制散点图
1.二维散点图 二维散点图的函数原型: matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=Non ...
- 使用matplotlib绘制散点图
在matplotlib中使用函数 matplotlib.pyplot.scatter 绘制散点图,matplotlib.pyplot.scatter的函数签名如下: matplotlib.pyplot ...
- matplotlib绘制散点图
参考自Matplotlib Python 画图教程 (莫烦Python)(10)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili.com/video/av16 ...
- 【Python】使用scatter()绘制散点图
绘制简单散点图 要绘制单个点,使用scatter()函数,并向它传递一对x和y坐标,它将在指定位置绘制一个点 import matplotlib.pyplot as plt plt.scatter(2 ...
- 2. matplotlib绘制散点图
与绘制直线图的唯一区别:plt.scatter # coding=utf-8 from matplotlib import pyplot as plt from matplotlib import f ...
- matplotlib库绘制散点图
假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温随时间(天)变化的某种规律? a = [11,17,16,11,12,11,12,6,6 ...
- matplotlib 散点图scatter
最近开始学习python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...
随机推荐
- jquery特效(4)—轮播图②(定时自动轮播)
周末出去逛完街,就回公司好好地研究代码了,也算是把定时自动轮播程序写出来了,特意说明一下,这次的轮播图是在昨天随笔中jquery特效(3)—轮播图①(手动点击轮播)的基础上写出来的,也就是本次随笔展示 ...
- UVA10655 Contemplation! Algebra —— 推公式、矩阵快速幂
题目链接:https://vjudge.net/problem/UVA-10655 题意: a+b.ab的值分别为p.q,求a^n+b^n. 题解: 1.a.b未知,且直接求出a.b也不太实际. 2. ...
- Java聊天室[长轮询]
今天看到有人分享java实现的聊天室,想起很久以前还在热衷于java的时候也做过一个web聊天室,不拿出来晒晒,可能再也不为人知了,单纯是一个兴趣作品,稳定性不好,也没有考虑连接数和并发的问题,拿出来 ...
- 洛谷 1082 同余方程——exgcd(水题)
题目:https://www.luogu.org/problemnew/show/P1082 大水题. #include<iostream> #include<cstdio> ...
- 【Linux学习】Linux用户管理2—用户配置文件
Linux用户管理2-用户配置文件 /etc/passwd: 存放系统用户的文件 输入 vi /etc/passwd /etc/shadow: 保存保密文件 /etc/group: 群组文件 输入 v ...
- Flutter实战视频-移动电商-20.首页_火爆专区上拉加载效果
20.首页_火爆专区上拉加载效果 上拉加载的插件比较都.没有一个一枝独秀的 可以自定义酷炫的header和footer 一直在更新 推荐使用这个插件: https://github.com/xuelo ...
- CodeForces 359D Pair of Numbers (暴力)
题意:给定一个正整数数组,求最长的区间,使得该区间内存在一个元素,它能整除该区间的每个元素. 析:暴力每一个可能的区间,从数组的第一个元素开始考虑,向两边延伸,设延伸到的最左边的点为l, 最右边的点为 ...
- lua中文教程【高级知识】
一.编译和运行和调试 1.lua和其他解释型语言一样,先转换成为中间码再执行 2.dofile和loadfile的区别:loadfile编译返回不执行,返回错误代码:dofile执行,返回错误信息 3 ...
- C#基础:线程之异步委托
线程:是程序中独立的指令流.在我们熟悉的Visual Studio编辑器中输入C# 代码的时候,系统会自动分析代码,提示你输入的代码出现的各种错误,这是一个后台线程完成的. 创建线程的一种简单的方式就 ...
- C++泛型编程之函数模板
泛型语义 泛型(Generic Programming),即是指具有在多种数据类型上皆可操作的含意.泛型编程的代表作品 STL 是一种高效.泛型.可交互操作的软件组件. 泛型编程最初诞生于 C++中, ...