• 分布(五)利用python绘制蜂群图


    分布(五)利用python绘制蜂群图

    蜂群图 (swarmplot)简介

    1

    蜂群图可以不重叠的显示各数据点的分布。相对于散点图,所绘制的点彼此靠近且不会重叠,能有效呈现出点分布的局部密度信息。

    快速绘制

    1. 基于seaborn

      import seaborn as sns
      import matplotlib.pyplot as plt
      import numpy as np
      
      # 自定义数据
      my_variable = np.random.normal(loc=10, scale=5, size=100)
      
      # 利用swarmplot函数绘制蜂群图
      sns.swarmplot(y=my_variable)
      
      plt.show()
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11

      2

    定制多样化的蜂群图

    自定义蜂群图一般是结合使用场景对相关参数进行修改,并辅以其他的绘图知识。参数信息可以通过官网进行查看,其他的绘图知识则更多来源于实战经验,大家不妨将接下来的绘图作为一种学习经验,以便于日后总结。

    seaborn主要利用swarmplot绘制蜂群图,可以通过seaborn.swarmplot了解更多用法

    1. 绘制多个蜂群图

      import matplotlib as mpl
      import seaborn as sns
      import matplotlib.pyplot as plt
      import numpy as np
      
      # 自定义数据(两组)
      sample_size = 100
      
      data_group1 = np.random.normal(loc=2, scale=2, size=sample_size)
      data_group2 = np.random.normal(loc=5, scale=2, size=sample_size)
      data_combined = np.concatenate([data_group1, data_group2])
      
      category_feature = ['Group 1'] * sample_size + ['Group 2'] * sample_size # 定义类别
      
      # 绘制蜂群图
      plt.figure(figsize=(8, 6))
      sns.swarmplot(x=category_feature,
                    y=data_combined,
                    palette='Set2',
                    hue=category_feature,
                   )
      
      plt.title('Swarm Plot')
      plt.xlabel('Category')
      plt.ylabel('Data')
      plt.show()
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26

      3

    2. 修改参数

      import matplotlib as mpl
      import seaborn as sns
      import matplotlib.pyplot as plt
      import numpy as np
      
      
      # 自定义数据
      my_variable = np.random.normal(loc=10, scale=5, size=100)
      
      # 修改颜色、方向
      sns.swarmplot(x=my_variable,
                    color='red',
                    edgecolor='black',
                    linewidth=0.9,
                   )
      
      plt.show()
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17

      4

    总结

    以上通过seaborn的swarmplot可以快速绘制蜂群图,并通过修改参数或者辅以其他绘图知识自定义各种各样的蜂群图来适应相关使用场景。

    共勉~

  • 相关阅读:
    dart 学习 之 Getters and setters
    论文课后总结
    【Leetcode】1478. Allocate Mailboxes
    记一次redis批量删除千万量级key的实操与思考
    在职读博|中国社科院-英国斯特大学灵合作办学双证管理学博士
    Python 函数转命令行界面库 -- Argsense CLI
    Object.defineProperty基本用法
    卷积神经网络 图像识别,卷积神经网络图像处理
    Java代码Demo——Map根据key或value排序
    10种电影类型
  • 原文地址:https://blog.csdn.net/weixin_39293132/article/details/136619533