matplotlib——3. 绘制分布(scatter+hist)

news2024/9/29 13:23:09

文章目录

  • 1. matplotlib实现
    • 1.1 效果
    • 1.2 代码
  • 2. seaborn实现
    • 2.1 效果
    • 2.2 代码

在这里插入图片描述
左图是matplotlib的结果,右图是seaborn的结果

1. matplotlib实现

1.1 效果

效果:(二维正态分布的散点图+每个轴的直方图)
在这里插入图片描述

1.2 代码

import numpy as np
import matplotlib.pyplot as plt

# <https://blog.csdn.net/Castlehe/article/details/127555925>
# 6. 正态(normal)/高斯(gaussian)分布distribution 3σ原则
# μ-σ~μ+σ=0.6826,(0-1~0+1   点落在-1~1之间的概率是68.26%)
# μ-2σ~μ+2σ=0.9544    (点落在-2~2之间的概率是95.44%)
# μ-3σ~μ+3σ=0.9974    (点落在-3~3之间的概率是99.74%)

x = np.random.randn(2000)
y = np.random.randn(2000)

def scatter_hist(x, y, ax, ax_histx, ax_histy):
    # no labels
    ax_histx.tick_params(axis="x", labelbottom=False)
    ax_histy.tick_params(axis="y", labelleft=False)
	
	# (0,0) center
    ax.spines['left'].set_position('center')
    ax.spines['right'].set_color('none')
    ax.spines['bottom'].set_position('center')
    ax.spines['top'].set_color('none')
    ax.xaxis.set_ticks_position('bottom')
    ax.yaxis.set_ticks_position('left')
    # x, y scale equal
    ax.set_aspect('equal', adjustable='box')
	
	# scatter plot
    ax.scatter(x, y)

    # now determine nice limits by hand:
    binwidth = 0.25
    xymax = max(np.max(np.abs(x)), np.max(np.abs(y)))
    lim = (int(xymax/binwidth) + 1) * binwidth
	
	# hist plot
    bins = np.arange(-lim, lim + binwidth, binwidth)
    ax_histx.hist(x, bins=bins, color="tab:cyan")
    ax_histy.hist(y, bins=bins, orientation='horizontal', color="y")


fig = plt.figure(figsize=(6, 6))
# fig.add_gridspec 
gs = fig.add_gridspec(2, 2,  width_ratios=(4, 1), height_ratios=(1, 4),
                      left=0.1, right=0.9, bottom=0.1, top=0.9,
                      wspace=0.05, hspace=0.05)
ax = fig.add_subplot(gs[1, 0])
ax_histx = fig.add_subplot(gs[0, 0], sharex=ax)
ax_histy = fig.add_subplot(gs[1, 1], sharey=ax)
scatter_hist(x, y, ax, ax_histx, ax_histy)
plt.show()

参考:Scatter plot with histograms

2. seaborn实现

2.1 效果

在这里插入图片描述

2.2 代码

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(2000)
y = np.random.randn(2000)

sns.jointplot(x=x, y=y)
plt.show()

就很简单。。。

参考:

  • Distribution visualization in other settings
  • matplotlib: plotting histogram plot just above scatter plot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/808112.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于Anaconda环境配置的一些问题

文章目录 一、关于package文件安装位置二、关于尝试下载Python包时出现的CondaSSLError三、配置环境的整个流程四、如何在Jupyter中打开任意位置的文件夹五、如何在Jupyter对应的环境中安装包 一、关于package文件安装位置 package 文件安装在envs目录底下的Lib中&#xff0c;可…

Llama2跟进:GPU硬件要求、微调注意事项等【202307】

在过去几天里关注Llama 2 的所有新闻已经超出了全职工作的范围。 信息网络确实充满了拍摄、实验和更新。 至少还要再过一周&#xff0c;但已经有一些关键点了。 推荐&#xff1a;用 NSDT设计器 快速搭建可编程3D场景。 在这篇文章中&#xff0c;我将澄清我对原始帖子中有关 Lla…

MySQL 相关知识

MySQL 相关知识 1、三大范式2、DML 语句和 DDL 语句区别3、主键和外键的区别4、drop、delete、truncate 区别5、基础架构6、MyISAM 和 InnoDB 有什么区别&#xff1f;7、推荐自增id作为主键问题8、为什么 MySQL 的自增主键不连续9、redo log 是做什么的?10、redo log 的刷盘时…

WIZnet W5500-EVB-Pico 静态IP配置教程(二)

W5500是一款高性价比的 以太网芯片&#xff0c;其全球独一无二的全硬件TCP、IP协议栈专利技术&#xff0c;解决了嵌入式以太网的接入问题&#xff0c;简单易用&#xff0c;安全稳定&#xff0c;是物联网设备的首选解决方案。WIZnet提供完善的配套资料以及实时周到的技术支持服务…

Windows Server 2012 能使用的playwright版本

由于在harkua_bot里面使用到了playwright&#xff0c;我的服务器又是Windows Server 2012 R2&#xff0c;最新版playwright不支持Windows Server 2012 R2&#xff0c;支持Windows Server 2016以上&#xff0c;所以有了这个需求 https://cdn.npmmirror.com/binaries/playwright…

手写线程池 - C++版 - 笔记总结

1.线程池原理 创建一个线程&#xff0c;实现很方便。 缺点&#xff1a;若并发的线程数量很多&#xff0c;并且每个线程都是执行一个时间较短的任务就结束了。 由于频繁的创建线程和销毁线程需要时间&#xff0c;这样的频繁创建线程会大大降低 系统的效率。 2.思考 …

【Python从入门到进阶】30、JSONPath的介绍和使用

接上篇《29、xpath抓取站长素材图片》 上一篇我们讲解了如何利用xpath来抓取站长素材网站的图片区首页的所有图片&#xff0c;本篇我们来介绍JSONPath的基础和具体使用。 一、JSONPath的基本概念 1、什么是JSONPath&#xff1f; JSONPath是一种用于在JSON&#xff08;JavaSc…

致敬图灵!HashData拥抱数据智能新时代!

图1&#xff1a;2023ACM中国图灵大会现场 生于1912年的艾伦图灵被称为“计算机科学之父”、“人工智能之父”。1966年&#xff0c;国际计算机协会&#xff08;ACM&#xff09;为了纪念这位卓越的科学家&#xff0c;设立了以其名字命名的ACM图灵奖&#xff0c;以表彰在计算机领…

RH850 1372/1374 程序跑飞异常分析

文章目录 前言现象描述原因分析解决方案总结 前言 最近项目用瑞萨RH850系列的1372/1374开发&#xff0c;官方的MCAL做的不咋地就算了&#xff0c;FAE支持也很少。给的demo问题也很多。本文记录一下开发过程中的问题。 现象描述 MCAL配置完ADC1后&#xff0c;运行ADC1的采样程…

SQL注入原理分析

前言 order by的作用及含义 order by 用于判断显示位&#xff0c;order by 原有的作用是对字段进行一个排序&#xff0c;在sql注入中用order by 来判断排序&#xff0c;order by 1就是对一个字段进行排序&#xff0c;如果一共四个字段&#xff0c;你order by 5 数据库不知道怎么…

51:电机(ULN2003D)

1:介绍 我们51单片机使用的是直流电机 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极&#xff0c;当电极正接时&#xff0c;电机正转&#xff0c;当电极反接时&#xff0c;电机反转 直流电机主要由永磁体&#xff08;定子&#xff09;、线圈&#xff08;转…

【Java|基础篇】File类和IO流

文章目录 1.File类2.流的概念3.InputStream4.OutputStream5.Reader6.Writer7.使用Scanner读文件8.使用PrintWriter写文件9.close()方法10.flush()方法10.总结 1.File类 File类是Java中用于表示文件或目录的类。它提供了一些方法来操作文件和目录的属性和内容&#xff0c;可以进…

对js中的window深入理解

window和 document的区别 window对象是浏览器中的全局对象&#xff0c;代表的是整个浏览器窗口&#xff1b;document只是window对象中的一部分&#xff0c;表示当前窗口或框架中加载的HTML文档&#xff0c;主要用于访问和操作文档的内容&#xff0c;包括DOM元素、样式、事件等&…

华为OD机试真题 Java 实现【AI面板识别】【2023 B卷 100分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明4、控制台输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08…

【Javalin 】Javalin Kotlin/Java 轻量级 REST API 库

Javalin 旨在为 Kotlin 和 Java 提供一个易用的轻量级 REST API 库。这个 REST API 易于使用&#xff0c;API 也非常的流畅。 Javalin 主要有以下的特点&#xff1a; 易用&#xff1a;不用提前学习任何概念就可以开始使用 一致的 API&#xff1a;所有的处理程序和映射器在 Co…

基于RK3588+AI的边缘计算算法方案:智慧园区、智慧社区、智慧物流

RK3588 AI 边缘计算主板规格书简介 关于本文档 本文档详细介绍了基于Rockchip RK3588芯片的AI边缘计算主板外形、尺寸、技术规格&#xff0c;以及详细的硬件接口设计参考说明&#xff0c;使客户可以快速将RK3588边缘计算主板应用于工业互联网、智慧城市、智慧安防、智慧交通&am…

年轻人的第一套海景房

前段时间新房装修&#xff0c;我把书房设计成工作室的风格&#xff0c;并自己装配了一台电脑&#xff0c;本文是对电脑选购与装配的一则经验贴&#xff0c;仅包含我对计算机硬件的浅薄理解。 配件选购 装机契源 事实上&#xff0c;很多电脑店都提供装配和测试服务&#xff0c…

【二叉树】刷题二(以递归写法为主)

617. 合并二叉树 class Solution:def mergeTrees(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> Optional[TreeNode]:root TreeNode()if not root1 and not root2:returnelif root1 and not root2:root root1elif not root1 and root2:root root2elif…

AD21原理图的高级应用(一)端口的应用

&#xff08;一&#xff09;端口的应用 1.放置端口2.自动给端口添加页码 说明&#xff0c;博主的AD版本是AD21&#xff0c;所有的工程都基于AD21&#xff0c;虽然AD软件几乎不存在版本兼容性问题&#xff0c;但还是建议大家使用对应版本的软件来学习。 资料仅供学习使用。 1.…

013 怎么查看自己电脑的wifi密码

方法一&#xff1a;查看当前电脑连接的无线密码 步骤1&#xff1a; 打开windows命令行窗口&#xff0c;输入&#xff1a;ncpa.cpl 快速打开“控制面板”中的“网络连接”&#xff0c;如下图&#xff1a; 步骤2&#xff1a; 右键&#xff0c;打开“状态” 步骤3&#xff1a;…