散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。

  用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点。值由点在图表中的位置表示。类别由图表中的不同标记表示。散点图通常用于比较跨类别的聚合数据。

  散点图通常用于显示和比较数值,例如科学数据、统计数据和工程数据。


初认识:使用numpy包的random函数随机生成100组数据,然后通过scatter函数绘制散点图。

  1. #!/usr/bin/env python
  2. #!-*-coding:utf-8 -*-
  3. #!@Author : Biyoulin
  4. #!@Time : 2018/9/2 14:40
  5.  
  6. import matplotlib.pyplot as plt
  7. import numpy as np
  8.  
  9. plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
  10. plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
  11.  
  12. N = 100
  13. x = np.random.randn(N)
  14. y = np.random.randn(N)
  15. plt.scatter(x,y)
  16.  
  17. plt.title("散点图示例01") #显示图表名称
  18. plt.xlabel("x轴") #x轴名称
  19. plt.ylabel("y轴") #y轴名称
  20. plt.text(+1.2,-3,"By:biyoulin",fontsize=16,color="purple")
  21.  
  22. plt.show()



scatter函数格式:

  1. scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None,
  2. vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None,
  3. hold=None, data=None, **kwargs):

scatter函数参数详解,英文原版请参见:matplotlib官网scatter函数

  1. x,y:形如shape(n,)的数组,可选值,
  2. s 点的大小(也就是面积)默认20
  3. c 点的颜色或颜色序列,默认蓝色。其它如c = 'r' (red); c = 'g' (green); c = 'k' (black) ; c = 'y'(yellow)
  4. marker标记样式,可选值,默认是圆点;
    cmap: colormap用于表示从第一个点开始到最后一个点之间颜色渐进变化;
    norm: normalize,
    vmin:
    vmax:
    alpha: 设置标记的颜色透明度,可以理解为颜色属性之一
    linewidths: 设置标记边框的宽度值
    verts:
    edgecolors: 设置标记边框的颜色
    hold:
    data:
    **kwargs: 


scatter()函数各参数示例:

1、x,y:横纵坐标,数据坐标(data position)

  1. import matplotlib.pyplot as plt
  2. plt.scatter(x=0.5,y=0.5)
  3. plt.show() 

2、marker : 图标,默认的是“.”,也可以是其它形状,想了解更多的,请参见:matplotlib 学习笔记02:marker标记详解。下面例子将marker设置成了“d”(diamond形状):

  1. import matplotlib.pyplot as plt
  2. plt.scatter(x=0.5,y=0.5,marker='d')
  3. plt.show()

也可以是文字:

  1. import matplotlib.pyplot as plt
  2. plt.scatter(x=0.5,y=0.5,marker='$biyoulin$')
  3. plt.show() 

上面的文字是不是看不到?因为字体太小了,通过参数s(size)可以调整“点”的大小。

3、: size,字体大小,默认值为20;

  1. import matplotlib.pyplot as plt
  2. plt.scatter(x=0.5,y=0.5,s=10000,marker='$biyoulin$')
  3. plt.show()

到目前为止几个例子中的“点”都是蓝色的,可以通过调整c(color)参数来设置颜色:

4、c : color,色彩会颜色序列,默认是'b'(蓝色),可支持的颜色参数如下:

b c g k m r w y
blue cyan green black magenta red white yellow
蓝色 青色 绿色 黑色 洋红 红色 白色 黄色
  1. import matplotlib.pyplot as plt
  2. plt.scatter(x=0.5,y=0.5,s=10000,c='r',marker='$biyoulin$')
  3. plt.show() 

5、alpha:可以理解为颜色的属性之一 ,即透明度,alpha的范围为[0,1],从透明到不透明,上面的例子中 alpha为1,可以看看0.5的效果:

  1. import matplotlib.pyplot as plt
  2. plt.scatter(x=0.5,y=0.5,s=10000,c='r',alpha=0.5,marker='$biyoulin$')
  3. plt.show()

6、edgecolors:the edge color of marker,顾名思义“边”的颜色,设置标记边框的颜色,下面的例子中,将边的颜色设置了为蓝色:

  1. import matplotlib.pyplot as plt
  2. plt.scatter(x=0.5,y=0.5,s=10000,c='r',alpha=1,marker='d',edgecolors='b')
  3. plt.show()

可能有人会问,看不出来“边”的颜色是蓝色。没关系,通过设置linewidths,就容易看出来了。

7、linewidths:the edge size of the marker,设置标记边框的宽度;

  1. import matplotlib.pyplot as plt
  2. plt.scatter(x=0.5,y=0.5,s=10000,c='r',alpha=1,marker='d',linewidths=10
  3. ,edgecolors='b')
  4. 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”即量级、程度,用于表示从第一个点开始到最后一个点之间颜色渐进变化。

  1. import matplotlib.pyplot as plt
  2. x1=list(range(0,60))
  3. y1=list(range(0,60))
  4. plt.scatter(x=x1,y=y1,marker='d',s=10,c=y1,cmap=plt.cm.Reds)
  5. 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函数精讲)的更多相关文章

  1. matplotlib画图工具/绘制散点图

    绘制散点图 import matplotlib.pyplot as plt fig=plt.figure() ax = fig.add_subplot(111) ax.scatter(x,y, s,c ...

  2. matplotlib 知识点11:绘制饼图(pie 函数精讲)

    饼图英文学名为Sector Graph,又名Pie Graph.常用于统计学模块. 画饼图用到的方法为:matplotlib.pyplot.pie( ) #!/usr/bin/env python # ...

  3. 使用matplotlib.pyplot中scatter()绘制散点图

    1.二维散点图 二维散点图的函数原型: matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=Non ...

  4. 使用matplotlib绘制散点图

    在matplotlib中使用函数 matplotlib.pyplot.scatter 绘制散点图,matplotlib.pyplot.scatter的函数签名如下: matplotlib.pyplot ...

  5. matplotlib绘制散点图

    参考自Matplotlib Python 画图教程 (莫烦Python)(10)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili.com/video/av16 ...

  6. 【Python】使用scatter()绘制散点图

    绘制简单散点图 要绘制单个点,使用scatter()函数,并向它传递一对x和y坐标,它将在指定位置绘制一个点 import matplotlib.pyplot as plt plt.scatter(2 ...

  7. 2. matplotlib绘制散点图

    与绘制直线图的唯一区别:plt.scatter # coding=utf-8 from matplotlib import pyplot as plt from matplotlib import f ...

  8. matplotlib库绘制散点图

    假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温随时间(天)变化的某种规律? a = [11,17,16,11,12,11,12,6,6 ...

  9. matplotlib 散点图scatter

    最近开始学习python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

随机推荐

  1. Windows服务的快速搭建与调试(C#图解)

    Windows服务的快速搭建与调试(C#图解)   目录 一.什么是Windows 服务? 二.创建Windows 服务与安装/卸载批处理. 三.调试Windows 服务. 正文 一.什么是Windo ...

  2. Java 并发 —— volatile 关键字

    volatile 修饰变量等于向编译器传达如下两层含义: 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的. 禁止进行指令重排序. volat ...

  3. 修改SO

    1.如果在jni中定义的是int型的数据,比如: JNIEXPORT jint JNICALL Java_com_ggndktest1_JniGg_getCoin (JNIEnv * env, job ...

  4. spring boot 部署 发布

    Spring Boot应用的打包和部署 字数639 阅读2308 评论0 喜欢5 现在的IT开发,DevOps渐渐获得技术管理人员支持.云计算从ECS转向Docker容器技术.微服务的概念和讨论也越来 ...

  5. C/C++获取Windows系统CPU和内存及硬盘使用情况

    //1.获取Windows系统内存使用率 //windows 内存 使用率 DWORD getWin_MemUsage(){ MEMORYSTATUS ms; ::GlobalMemoryStatus ...

  6. Qt工程pro文件的简单配置(尤其是第三方头文件和库)

    Qt开发中,pro文件是对正工程所有源码.编译.资源.目录等的全方位配置的唯一方式,pro文件的编写非常重要,以下对几个重要项进行说明(win和linux,mac平台通用配置) 注释 以”#”开始的行 ...

  7. zookeeper分布式安装

    1.先把zookeeper-3.5.2-alpha.tar上传解压到/usr/local/下重命名为zookeeper ############# zookeeper env ############ ...

  8. js数组,在遍历中删除元素(用 for (var i in arr)是无效的 )

    /** * 有效的方式 - 改变下标,控制遍历 */ for (var i = 0; i < arr.length; i++) { if (...) { arr.splice(i, 1); // ...

  9. jquery : eval() 解析json的注意

    jquery eval解析JSON中的注意点介绍 来在:http://www.jb51.net/article/40842.htm 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: ...

  10. [Xcode 实际操作]八、网络与多线程-(8)使用同步Get方式查询某地天气

    目录:[Swift]Xcode实际操作 本文将演示如果通过Get的方式,请求某地天气信息,同步获取网络数据, 一旦发送同步请求,程序将停止用户交互,直至服务器返回数据. 为了增强数据访问的安全性,从9 ...