zoukankan      html  css  js  c++  java
  • 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、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/

    版权声明:本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

  • 相关阅读:
    selenium+python常用函数
    不同网络层的协议与工具
    Loudrunner编写WinSocket接口测试脚本
    python常见问题汇总
    Appium简介及工作原理
    Http协议详解
    Selenium 工作原理
    HTTP与HTTPS有哪些区别?
    【Appium】Appium工作原理(2)
    MySQL 必知必会学习笔记(常用命令二)
  • 原文地址:https://www.cnblogs.com/biyoulin/p/9565362.html
Copyright © 2011-2022 走看看