如何使用Python的matplotlib和seaborn库绘制颜色渐变的高级散点图

news2024/12/28 12:37:20

前言

我的科研论文中需要绘制一个精美的散点图,表达的是各个散点距离中心点的距离远近情况,特点如下:

  1. 绘图的美观程度高
  2. 根据距离目标点的距离的不同,各个散点能有颜色或者是透明度上的区分
  3. 相应的统计量是与中心点(目标点)的偏离均值和方差

基本思路

要创建一个更加美观的散点图并且根据距离中心点的远近改变颜色或透明度,可以使用matplotlib库的高级功能,并且结合seaborn库来增强图形的美观程度。

代码

下面提供实例,代码作为模板

from cProfile import label
from tkinter.ttk import Style
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from scipy.spatial.distance import cdist


np.random.seed(0)

# 假设我们已经有了一些数据
# 这里生成随机数据来代表散点的坐标
x = np.random.rand(100)
y = np.random.rand(100)

# 假设中心点在(0.5, 0.5)
center = np.array([0.5, 0.5])

# 计算每个点到中心点的距离
points = np.vstack((x, y)).T
distances = cdist(points, np.array([center]))

# 设置颜色或透明度与距离相关
# 这里我们使用距离来设置颜色
colors = distances.flatten()

# 开始绘图
sns.set(style="whitegrid")  # 使用seaborn的白色网格风格
plt.figure(figsize=(10, 8))  # 设置图的大小

# 绘制散点图,颜色根据距离深浅,大小统一为50
plt.scatter(x, y, c=colors, cmap='viridis', alpha=0.6, s=50)

# 绘制中心点
plt.scatter(center[0], center[1], c='red', s=100, label='Target')

# 添加图例
plt.legend()

# 添加色条
plt.colorbar(label='Distance from target')

# 设置标题和轴标签
plt.title('Scatter Plot by Distance from Target')
plt.xlabel('X coordinate ')
plt.ylabel('Y coordinate ')

# 显示图形
plt.show()

# 数据分析
# 计算统计量,比如均值、标准差等
mean_distance = np.mean(distances)
std_distance = np.std(distances)

# 打印统计结果
print(f'Mean distance from center: {mean_distance}')
print(f'Standard deviation of distances: {std_distance}')

# 可视化距离的分布情况
plt.figure(figsize=(8, 6))
sns.distplot(distances, bins=20, kde=True)
plt.title('Distance Distribution')
plt.xlabel('Distance')
plt.ylabel('Frequency')
plt.show()

代码解释

  1. 首先使用numpy生成了随机的散点数据。
  2. 使用scipy库中的cdist函数计算所有点到中心点的欧氏距离。
  3. 用scatter函数绘制散点图,其中颜色的深浅表示了点距离中心的远近。这里使用viridis色图,它在可视化距离信息时效果不错。
  4. 最后,计算所有距离的均值和标准差,并且使用seaborn的distplot函数绘制距离的分布图,从而对数据进行了基本的统计分析。

注意:这段代码使用了seaborn.distplot,这个函数在seaborn的最新版本中已经被seaborn.histplot所替代,如果你的seaborn版本较新,应当相应地修改。

结果

绘制精美散点图效果

延伸阅读

如何使用Python和matplotlib绘制机器人运动偏差路径图——实用教程与代码解析

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

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

相关文章

如何搭建低成本亚马逊aws云服务器

0. 环境 win10 火狐浏览器 1. 登录 https://aws.amazon.com/cn/ -> 登录 -> 根用户 -> ********, **** 如果未有,需要注册,去年我注册的,麻烦之处是需要添加信用卡。可以淘宝aws搜索商家帮忙处理。 2. 控制台 在控制台主页&…

【Orangepi Zero2 全志H616】驱动蜂鸣器

一、用户手册对应的I/O 二、wiringPi库示例代码 三、代码实现 四、创建shell脚本 五、接线和运行结果 一、用户手册对应的I/O 二、wiringPi库示例代码 1 #include <stdio.h>2 #include <wiringPi.h>34 #define NUM 17 //26pin5 //#define NUM 18 //26pin6 //#…

EASYX图片操作

easyx学习网址 建议使用谷歌搜索引擎搜索相关的资料 eg1:图片显示到桌面 #include <stdio.h> #include <easyx.h> #include <iostream> #include <math.h> #include <stdlib.h> #include <conio.h> #include <time.h> #define PI 3…

第二十四章 BEV感知系列一(车道线感知)

前言 近期参与到了手写AI的车道线检测的学习中去&#xff0c;以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新&#xff0c;力求完整精炼&#xff0c;引人启示。所需前期知识&#xff0c;可以结合手写AI进行系统的学习。 BEV感知系列是对论文Delving into the De…

一站式解决方案:体验亚马逊轻量服务器/VPS的顶级服务与灵活性

文章目录 一、什么是轻量级服务器/VPS 二、服务器创建步骤 三、服务器连接客户端(私钥登录) 四、使用服务器搭建博客网站 五、个人浅解及总结 一、什么是轻量级服务器/VPS 亚马逊推出的轻量级服务器/VPS&#xff1a;是一种基于云计算技术的虚拟服务器解决方案。它允许用户…

【MySQL事务篇】MySQL事务日志

MySQL事务日志 文章目录 MySQL事务日志1. 概述2. redo 日志2.1 概述2.2 redo log的好处、特点2.3 redo的组成2.4 redo的整体流程2.5 redo log的刷盘策略2.6 redo log file 参数设置相关 3. undo 日志3.1 概述3.2 Undo日志的作用3.3 undo的存储结构1. 回滚段与undo页2. 回滚段与…

洗地机哪个品牌好?家用洗地机选购攻略

随着家用洗地机的普及和市场的广泛认可&#xff0c;进入洗地机行业的制造商也越来越多。在面对众多洗地机品牌时&#xff0c;消费者常常感到困惑&#xff0c;不知道如何选择。面对众多选择&#xff0c;选择有良好保障的知名洗地机品牌是明智之举。知名品牌在质量、售后服务等方…

水离子壁炉的工作原理与优势

当我们想到都是传统的壁炉&#xff0c;但是现在有一种全新的壁炉—水离子雾化壁炉&#xff0c;它以杀菌、环保和净化空气的特点受到人们的热烈欢迎。 水离子壁炉听上去可能有点高科技&#xff0c;但其实它的工作原理相当简单。这种壁炉利用了水的独特性质。壁炉内有一个系统&a…

ipswitch如何用Public key 連接sftp

Options--SSH--Client Keys---import 先選擇Putty Key Generator save出來的public key(.pub)文件&#xff08;Putty Key Generator 保存時可能沒加.pub後綴保存&#xff0c;可自行對public key加上後綴.pub&#xff09; 先選擇Putty Key Generator save出來的private key(.…

GAMP源码阅读:PPP中的模型改正:天线相位中心、天线相位缠绕、潮汐、地球自转效应、引力延迟

原始 Markdown文档、Visio流程图、XMind思维导图见&#xff1a;https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、卫星天线相位中心改正1、原理2、文件读取3、setpcv()&#xff1a;设置天线参数4、satantoff()&#xff1a;卫星 PCO 改正5、satantpcv()&…

以太网实验1.mdio接口读写实验

以太网常见硬件组成&#xff1a; fpga首先发送数据到经过udp层、ip层以及mac层的封装 主要有MAC控制器、PHY芯片、网络变压器和RJ45接头组成&#xff0c;有的系统会有DMA控制。一般的系统中CPU和MAC以及DMA控制器都是集成在一块芯片上的&#xff0c;为了节省空间简化设计&…

物联网AI MicroPython传感器学习 之 SSD1306 OLED显示屏幕

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; 一、产品简介 OLED&#xff0c;即有机发光二极管&#xff08;Organic Light-Emitting Diode&#xff09;&#xff0c;又称为有机电激光显示&#xff08;Organic Electroluminesence Display&#xff0c; OEL…

管理文件:文件批量重命名,轻松删除文件名中的空格

在文件管理中&#xff0c;我们经常会遇到文件名中带有空格的情况。这些空格可能会使文件在某些情况下难以被正确识别或使用&#xff0c;因此我们需要掌握一些技巧来轻松删除文件名中的空格。现在使用云炫文件管理器批量重命名进行批量处理。以下是如何操作的步骤详解&#xff1…

Unity中Shader的GI的直接光实现

文章目录 前言一、在上一篇文章中&#xff0c;得到GI相关数据后&#xff0c;需要对其进行Lambert光照模型计算二、在准备好上面步骤后&#xff0c;我们需要准备缺少的数据1、准备上图中的 s.Normal2、准备上图中的 s.Albedo 前言 Unity中Shader的GI的直接光实现&#xff0c;基…

Python基础入门例程30-NP30 用列表实现队列(列表)

最近的博文&#xff1a; Python基础入门例程29-NP29 用列表实现栈&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程28-NP28 密码游戏&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程27-NP27 朋友们的喜好&#xff08;列表&#xff09;-CSDN博客 目录 …

缺陷之灵魂操作bug

一、前言 正常来说&#xff0c;我们在测试缺陷的时候都是按照case来测试的&#xff0c;但是有些场景&#xff0c;例如说发散思维这种场景&#xff0c;就会找到一些比较不太正常、不好复现的缺陷&#xff0c;然后如果要辅助研发修复&#xff0c;就会极为痛苦。 二、场景描述 大…

免费获得临时域名/内网穿透

文章目录 Coplar 介绍Coplar 使用场景Coplar 使用 Coplar 介绍 》官网地址《 官网介绍&#xff1a; cpolar极点云: 公开一个本地Web站点至公网 只需一行命令&#xff0c;就可以将内网站点发布至公网&#xff0c;方便给客户演示。高效调试微信公众号、小程序、对接支付宝网关…

163M水经微图从入门到精通文档教程

我们在《47GB从入门到精通微图视频教程》一文中&#xff0c;为大家分享了视频教程。 由于有一些比较偏理论的内容不便于录制视频&#xff0c;因此文档教程才会更加完整全面。 CHM文档教程 我们将水经微图的文档教程制作成了CHM文件&#xff0c;共有163M大小。 教程内容主要…

佳易王羽毛球馆计时计费管理系统软件下载,支持连接灯控

软件特色&#xff1a; 1、功能实用&#xff0c;操作简单&#xff0c;不会电脑也会操作&#xff0c;软件免安装&#xff0c;已内置数据库。佳易王羽毛球馆计时计费系统软件免安装版V17.6&#xff0c;是集计时计费、商品销售、会员管理、备注记事本、定时提醒功能于一体的管理软…

Keras人工智能神经网络 Regressor 回归 神经网络搭建

前期分享了使用tensorflow来进行神经网络的回归&#xff0c;tensorflow构建神经网络 本期我们来使用Keras来搭建一个简单的神经网络 Keras神经网络可以用来模拟回归问题 (regression)&#xff0c;例如给下面一组数据&#xff0c;用一条线来对数据进行拟合&#xff0c;并可以预…