zoukankan      html  css  js  c++  java
  • 使用scatter画散点图

    刚开始接触Python,照着例子写的代码,百度注释的。

    from numpy import *  
    import matplotlib  
    import matplotlib.pyplot as plt  
    import numpy as np
    x = random.rand(50,30)      #创建一个50行30列的多维数组(ndarray)
    #basic  
    f1 = plt.figure(1)          #创建显示图形输出的窗口对象
    plt.subplot(211)            #创建子坐标系
    #x[:,1]获取第二列作为一维数组,x[:,0]获取第一列作为一维数组
    plt.scatter(x[:,1],x[:,0])  #画散点图
    
    
    # with label  
    plt.subplot(212)            #c重新创建坐标系
    
    #list(ones(20))     创建1行20列的全为1列表
    #list(2*ones(15))   创建1行15列全为2的列表
    #list(3*ones(15)    创建1行15列全为3的列表
    
    label = list(ones(20))+list(2*ones(15))+list(3*ones(15))    #将列表合并到一起,共50列
    label = array(label)                                        #将列表转为数组
    
    #15.0*label         将数组的每个值都乘以15.0
    #x[:,1]             将x的第2列50行转为1行50列
    #x[:,0]             将x的第1列50行转为1行50列
    
    #x轴和y轴均50个点,两个Label都是1行50列的数组
    #从第一个点到第20个点的样式相同,从第21到第35个点相同,从第36到第50个点相同
    plt.scatter(x[:,1],x[:,0],15.0*label,15.0*label)  
    
    # with legend  
    f2 = plt.figure(2)              #创建显示图形输出的窗口对象
    idx_1 = np.where(label==1)      #找label中为1的位置
    
    #画图  marker标识散点图样式 color标识颜色  label表示图例的解释   s表示散点的大小
    p1 = plt.scatter(x[idx_1,1], x[idx_1,0], marker = 'x', color = 'm', label='1', s = 30)  
    idx_2 = np.where(label==2)      #找label中为2的位置
    
    p2 = plt.scatter(x[idx_2,1], x[idx_2,0], marker = '+', color = 'c', label='2', s = 50)  
    idx_3 = np.where(label==3)      #找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')  #图例的位置
    
    plt.show()
  • 相关阅读:
    DNS智能解析的搭建与配置
    使用dnsmasq快速搭建内网DNS
    安装Fedora 21工作站后要做的10件事情
    MySQL + KeepAlived + LVS 单点写入主主同步高可用架构实验
    SOC-EDS之DS5安装和破解
    vs2015安装与卸载
    opencv实现的图像缩放
    基于Haar+Adaboost的人脸识别
    win10+python3.7+Anaconda3+CUDA10.0+cuDNN7.5+tensorflow_gpu1.13.1+opencv4.1.0 教程(最新)
    图片合成视频
  • 原文地址:https://www.cnblogs.com/kevin-h-wang/p/6560209.html
Copyright © 2011-2022 走看看