python中画散点图 python中画散点图

示例代码:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

data = np.random.randint(0, 255, size=[40, 40, 40])

x, y, z = data[0], data[1], data[2]
ax = plt.subplot(111, projection='3d')  # 创建一个三维的绘图工程
#  将数据点分成三部分画,在颜色上有区分度
ax.scatter(x[:10], y[:10], z[:10], c='y')  # 绘制数据点
ax.scatter(x[10:20], y[10:20], z[10:20], c='r')
ax.scatter(x[30:40], y[30:40], z[30:40], c='g')

ax.set_zlabel('Z')  # 坐标轴
ax.set_ylabel('Y')
ax.set_xlabel('X')
plt.show()

今天想在散点图的某些特定的点外面画圆圈标记,从下面的文章找到一些灵感,只要在原来的散点图上面给指点添加相应的标志,设置其透明度就可以实现该想法。

顺便复习下散点图的用法。

大家平时为了直观地显示数据的分布情况,在画散点图的时候,简单地把数据点用圆点标出来,像这样:

python中画散点图
python中画散点图

这样:
python中画散点图
python中画散点图 
python中画散点图
python中画散点图 

还有这样:
python中画散点图
python中画散点图

然而今天我想给大家展示的散点图,或许没有那么直观地反映数据的分布情况,不够实用,但是真的很美很艺术,每个的点的颜色和大小都不一样,形状也是多变的。比如五角星的散点图: 

python中画散点图
python中画散点图

圆点的散点图: 
python中画散点图
python中画散点图

Y形的散点图: 
python中画散点图
python中画散点图

等等还有很多,那么这些漂亮的形状是怎么画出来的呢?其实代码很简单:
  1.  
    from numpy import *;
  2.  
     
  3.  
    N = 50 # 点的个数
  4.  
    x = np.random.rand(N) * 2 # 随机产生50个0~2之间的x坐标
  5.  
    y = np.random.rand(N) * 2 # 随机产生50个0~2之间的y坐标
  6.  
    colors = np.random.rand(N) # 随机产生50个0~1之间的颜色值
  7.  
    area = np.pi * (15 * np.random.rand(N))**2 # 点的半径范围:0~15
  8.  
    # 画散点图
  9.  
    plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))
  10.  
    plt.show()

这里用到一个matplotlib.pyplot子库中画散点图的函数 
matplotlib.pyplot.scatter(x, y, s=20, c=None, marker='o', 
cmap=None, norm=None, vmin=None, vmax=None, alpha=None, 
linewidths=None, verts=None, edgecolors=None, hold=None, 
data=None, **kwargs)
 
这个函数接收的参数很多,有默认值的平时也不需要我们指定,是可选的,这次我们用到的除了基本的x ,y参数,还有c,s,alpha和marker,c就是为点指定的颜色数组,s是点的面积大小,alpha是点的颜色的透明度,marker是指定点标记的形状。在例子里指定透明度为0.5,c和s是随机生成的,我们要改变的是marker的值,marker有很多值可供选择,下表展示了在例子代码的基础上,改变marker的值后的效果:

marker result
”.” python中画散点图
python中画散点图
”,” python中画散点图
python中画散点图
“o” python中画散点图
python中画散点图
“v” python中画散点图
python中画散点图
“^” python中画散点图
python中画散点图
“<” python中画散点图
python中画散点图
“>” python中画散点图
python中画散点图
“1” python中画散点图
python中画散点图
“2” python中画散点图
python中画散点图
“3” python中画散点图
python中画散点图
“4” python中画散点图
python中画散点图
“8” python中画散点图
python中画散点图
“s” python中画散点图
python中画散点图
“p” python中画散点图
python中画散点图
“*” python中画散点图
python中画散点图
“h” python中画散点图
python中画散点图
“H” python中画散点图
python中画散点图
“+” python中画散点图
python中画散点图
“x” python中画散点图
python中画散点图
“D” python中画散点图
python中画散点图
“d” python中画散点图
python中画散点图
“_” python中画散点图
python中画散点图
“None” 没错就是什么都没有。。。python中画散点图
python中画散点图
“$…$” python中画散点图
python中画散点图
(numsides, style, angle)
eg:(9,0, 30) 
注:numsides是边的个数,
angle是旋转角度,
style只有0,1,2,3四个值
python中画散点图
python中画散点图
(numsides, style, angle)
eg:(9,1, 30)
python中画散点图
python中画散点图
(numsides, style, angle)
eg:(9,2, 30)
python中画散点图
python中画散点图
(numsides, style, angle)
eg:(9,3, 30)
注:此时numsides和angle的值自动被忽略
python中画散点图
python中画散点图

…… 
这么多种点的形状符号够我们用了吧~以后想用哪种查一下就好啦~

 
  • 相关阅读:
    为什么用strlcpy取代strncpy
    linux系统调用和库函数调用的区别
    VC、PE和天使投资是什么意思?有什么区别?
    AWS使用心得:当初我曾错过的那些宝贵经验
    bzoj 2208: [Jsoi2010]连通数
    android学习笔记(5)Activity生命周期学习
    Nginx 进程间通信
    手写一个节点大小平衡树(SBT)模板,留着用
    JavaFX学习之道:JavaFX之TableView
    Docker 命令行和后台參数
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/13270848.html
  • 示例代码:

    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    data = np.random.randint(0, 255, size=[40, 40, 40])
    
    x, y, z = data[0], data[1], data[2]
    ax = plt.subplot(111, projection='3d')  # 创建一个三维的绘图工程
    #  将数据点分成三部分画,在颜色上有区分度
    ax.scatter(x[:10], y[:10], z[:10], c='y')  # 绘制数据点
    ax.scatter(x[10:20], y[10:20], z[10:20], c='r')
    ax.scatter(x[30:40], y[30:40], z[30:40], c='g')
    
    ax.set_zlabel('Z')  # 坐标轴
    ax.set_ylabel('Y')
    ax.set_xlabel('X')
    plt.show()

    今天想在散点图的某些特定的点外面画圆圈标记,从下面的文章找到一些灵感,只要在原来的散点图上面给指点添加相应的标志,设置其透明度就可以实现该想法。

    顺便复习下散点图的用法。

    大家平时为了直观地显示数据的分布情况,在画散点图的时候,简单地把数据点用圆点标出来,像这样:

    python中画散点图
python中画散点图

    这样:
    python中画散点图
python中画散点图 
    python中画散点图
python中画散点图 

    还有这样:
    python中画散点图
python中画散点图

    然而今天我想给大家展示的散点图,或许没有那么直观地反映数据的分布情况,不够实用,但是真的很美很艺术,每个的点的颜色和大小都不一样,形状也是多变的。比如五角星的散点图: 

    python中画散点图
python中画散点图

    圆点的散点图: 
    python中画散点图
python中画散点图

    Y形的散点图: 
    python中画散点图
python中画散点图

    等等还有很多,那么这些漂亮的形状是怎么画出来的呢?其实代码很简单:
    1.  
      from numpy import *;
    2.  
       
    3.  
      N = 50 # 点的个数
    4.  
      x = np.random.rand(N) * 2 # 随机产生50个0~2之间的x坐标
    5.  
      y = np.random.rand(N) * 2 # 随机产生50个0~2之间的y坐标
    6.  
      colors = np.random.rand(N) # 随机产生50个0~1之间的颜色值
    7.  
      area = np.pi * (15 * np.random.rand(N))**2 # 点的半径范围:0~15
    8.  
      # 画散点图
    9.  
      plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))
    10.  
      plt.show()

    这里用到一个matplotlib.pyplot子库中画散点图的函数 
    matplotlib.pyplot.scatter(x, y, s=20, c=None, marker='o', 
    cmap=None, norm=None, vmin=None, vmax=None, alpha=None, 
    linewidths=None, verts=None, edgecolors=None, hold=None, 
    data=None, **kwargs)
     
    这个函数接收的参数很多,有默认值的平时也不需要我们指定,是可选的,这次我们用到的除了基本的x ,y参数,还有c,s,alpha和marker,c就是为点指定的颜色数组,s是点的面积大小,alpha是点的颜色的透明度,marker是指定点标记的形状。在例子里指定透明度为0.5,c和s是随机生成的,我们要改变的是marker的值,marker有很多值可供选择,下表展示了在例子代码的基础上,改变marker的值后的效果:

    marker result
    ”.” python中画散点图
python中画散点图
    ”,” python中画散点图
python中画散点图
    “o” python中画散点图
python中画散点图
    “v” python中画散点图
python中画散点图
    “^” python中画散点图
python中画散点图
    “<” python中画散点图
python中画散点图
    “>” python中画散点图
python中画散点图
    “1” python中画散点图
python中画散点图
    “2” python中画散点图
python中画散点图
    “3” python中画散点图
python中画散点图
    “4” python中画散点图
python中画散点图
    “8” python中画散点图
python中画散点图
    “s” python中画散点图
python中画散点图
    “p” python中画散点图
python中画散点图
    “*” python中画散点图
python中画散点图
    “h” python中画散点图
python中画散点图
    “H” python中画散点图
python中画散点图
    “+” python中画散点图
python中画散点图
    “x” python中画散点图
python中画散点图
    “D” python中画散点图
python中画散点图
    “d” python中画散点图
python中画散点图
    “_” python中画散点图
python中画散点图
    “None” 没错就是什么都没有。。。python中画散点图
python中画散点图
    “$…$” python中画散点图
python中画散点图
    (numsides, style, angle)
    eg:(9,0, 30) 
    注:numsides是边的个数,
    angle是旋转角度,
    style只有0,1,2,3四个值
    python中画散点图
python中画散点图
    (numsides, style, angle)
    eg:(9,1, 30)
    python中画散点图
python中画散点图
    (numsides, style, angle)
    eg:(9,2, 30)
    python中画散点图
python中画散点图
    (numsides, style, angle)
    eg:(9,3, 30)
    注:此时numsides和angle的值自动被忽略
    python中画散点图
python中画散点图

    …… 
    这么多种点的形状符号够我们用了吧~以后想用哪种查一下就好啦~