添加数据维度,使用Python绘制5D散点图

添加数据维度,使用Python绘制5D散点图
用Python绘制5D散点图的步骤教程。

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

www.zeeklog.com - 添加数据维度,使用Python绘制5D散点图

散点图通常用于比较2个不同特征以确定它们之间的关系。散点图也可以添加更多的维度来反映数据,例如使用颜色、气泡大小等。在本文中,将介绍如何绘制一个五维的散点图。

数据集:https://github.com/checkming00/Medium_datasets/blob/main/WH%20Report_preprocessed.csv

www.zeeklog.com - 添加数据维度,使用Python绘制5D散点图
www.zeeklog.com - 添加数据维度,使用Python绘制5D散点图

让我们从二维开始,简单地看一下Healthy_life_expectancy_at_birthLog_GDP_per_capita的图:

df.plot.scatter('Healthy_life_expectancy_at_birth', 'Log_GDP_per_capita') 
www.zeeklog.com - 添加数据维度,使用Python绘制5D散点图

我们可以看到这2个特征具有很强的正相关关系。然后我们可以将year作为我们的三维视觉效果添加到绘图中:

import matplotlib.pyplot as plt import numpy as np plt.figure(figsize=(15, 8)) years = np.sort(df.year.unique()) for i, year in enumerate(years):     BM = df.year == year     X = df[BM]['Healthy_life_expectancy_at_birth']     Y = df[BM]['Log_GDP_per_capita']     plt.subplot(2, 5, i+1) # 2X5 structure of subplots, at i+1 position     plt.scatter(X, Y)     plt.title(year)     plt.xlim([30, 80]) # x axis range     plt.ylim([6, 12]) # y axis range plt.show() plt.tight_layout() 
www.zeeklog.com - 添加数据维度,使用Python绘制5D散点图

它显示了多年来Healthy_life_expectancy_at_birthLog_GDP_per_capita之间的关系。

另一方面,我们可以让它具有交互性:

def plotyear(year):     BM = df.year == year     X = df[BM]['Healthy_life_expectancy_at_birth']     Y = df[BM]['Log_GDP_per_capita']     plt.scatter(X, Y)     plt.xlabel('Healthy_life_expectancy_at_birth')     plt.ylabel('Log_GDP_per_capita')     plt.xlim([30, 80])     plt.ylim([6, 12])     plt.show() 
from ipywidgets import interact, widgets min_year=df.year.min() max_year=df.year.max() interact(plotyear,           year=widgets.IntSlider(min=min_year,                                  max=max_year, step=1, value=min_year)) 
www.zeeklog.com - 添加数据维度,使用Python绘制5D散点图

然后我们可以拖动顶部的控制条来更改年份。

现在让我们把第四个维度Continent作为图例放入:

continents = df.Continent.unique() con_colors = dict(zip(continents, ['b', 'g', 'r', 'c', 'm', 'y' ,'k'])) 
import seaborn as sns def plotyear_continent(year):     BM = df.year == year     sns.scatterplot(data=df[BM], x='Healthy_life_expectancy_at_birth',                      y='Log_GDP_per_capita', hue='Continent', palette=con_colors)     plt.xlabel('Healthy_life_expectancy_at_birth')     plt.ylabel('Log_GDP_per_capita')     plt.xlim([30, 80])     plt.ylim([6, 12])     plt.legend()     plt.show() 
interact(plotyear_continent,           year=widgets.IntSlider(min=min_year,                                  max=max_year, step=1,                                  value=round(df.year.mean(),0))) 
www.zeeklog.com - 添加数据维度,使用Python绘制5D散点图

它显示了不同大洲之间的关系。此时,将默认年份设置为2014年(value=round(df.year.mean(),0))。

我们可以在视觉上做得更多的是气泡的大小。所以我们可以把population作为第五维:

continents = df.Continent.unique() con_colors = dict(zip(continents, ['b', 'g', 'r', 'c', 'm', 'y' ,'k'])) min_size=df['population'].min()/1000000  # Scale bubble minimum size max_size=df['population'].max()/1000000  # Scale bubble maximum size def plotyear_continent_pop(year):     BM = df.year == year     sns.scatterplot(data=df[BM], x='Healthy_life_expectancy_at_birth',                      y='Log_GDP_per_capita', hue='Continent',                      palette=con_colors, size='population',                      sizes=(min_size, max_size))     plt.xlabel('Healthy_life_expectancy_at_birth')     plt.ylabel('Log_GDP_per_capita')     plt.xlim([30, 80])     plt.ylim([6, 12])     plt.legend()     plt.show() 
interact(plotyear_continent_pop,           year=widgets.IntSlider(min=min_year,                                  max=max_year, step=1,                                  value=round(df.year.mean(),0))) 
www.zeeklog.com - 添加数据维度,使用Python绘制5D散点图

它显示了各大洲与气泡大小作为人口的关系。

这就是我们制作5D散点图的方式。它可以尽可能在同一图像中告诉人们所需要的信息。

推荐书单

《Python从入门到精通(第2版)》

《Python从入门到精通(第2版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Python进行程序开发应该掌握的各方面技术。全书共分23章,包括初识Python、Python语言基础、运算符与表达式、流程控制语句、列表和元组、字典和集合、字符串、Python中使用正则表达式、函数、面向对象程序设计、模块、异常处理及程序调试、文件及目录操作、操作数据库、GUI界面编程、Pygame游戏编程、网络爬虫开发、使用进程和线程、网络编程、Web编程、Flask框架、e起去旅行网站、AI图像识别工具等内容。所有知识都结合具体实例进行介绍,涉及的程序代码都给出了详细的注释,读者可轻松领会Python程序开发的精髓,快速提升开发技能。除此之外,该书还附配了243集高清教学微视频及PPT电子教案。

www.zeeklog.com - 添加数据维度,使用Python绘制5D散点图

精彩回顾

微信搜索关注《Python学研大本营》,加入读者群
访问【IT今日热榜】,发现每日技术热点

Read more

MiniMax AI 开源 MiniMax-M2.5

MiniMax AI 开源 MiniMax-M2.5

今天我们推出最新模型 MiniMax-M2.5。 该模型在数十万复杂现实场景中通过强化学习进行广泛训练,在编程、智能体工具使用与搜索、办公及一系列高经济价值任务上达到业界顶尖水平,其**SWE-Bench Verified通过率80.2%、Multi-SWE-Bench 51.3%、BrowseComp(含上下文管理)76.3%**的表现尤为亮眼。 经过高效推理与任务分解优化训练,M2.5执行复杂智能体任务时展现惊人速度,完成SWE-Bench Verified评估比M2.1快37%,与Claude Opus 4.6速度持平。 M2.5是首个让用户无需顾虑成本的尖端模型,真正实现"智能廉价如水电"的承诺。以每秒100 token的速度持续运行一小时仅需1美元。若降至每秒50 token,成本可低至0.3美元。我们希望M2.5的速度与成本优势能催生革命性智能体应用。 编程表现 在编程评估中,MiniMax-M2.5相较前代取得显著进步,达到业界顶尖水准。其多语言任务表现尤为突出。

LingBot-Depth-ViT-L14开源大模型部署教程:适配CUDA 12.4+PyTorch 2.6零配置启动

LingBot-Depth-ViT-L14开源大模型部署教程:适配CUDA 12.4+PyTorch 2.6零配置启动 1. 引言:让机器“看懂”深度 你有没有想过,让机器像人一样,看一眼照片就能知道场景里每个物体离我们有多远?这就是深度估计技术要解决的问题。无论是让机器人安全避障,还是让手机拍出背景虚化的照片,都离不开对场景深度的理解。 今天要介绍的 LingBot-Depth-ViT-L14,就是一个能帮你实现这个目标的强大工具。它是一个拥有3.21亿参数的开源大模型,专门用于从图像中估计深度信息。最棒的是,它支持两种模式:只用一张彩色照片就能估算深度,或者结合稀疏的深度测量点,生成完整、精确的深度图。 你可能觉得部署这样的模型会很麻烦,需要配置各种环境、解决依赖冲突。但好消息是,现在有了一个预配置好的镜像,让你能在几分钟内就启动并运行这个强大的深度估计模型,完全不需要手动安装任何东西。 2. 模型核心能力:两种模式,一个目标 在开始部署之前,我们先来了解一下这个模型到底能做什么。理解它的能力,能帮助你更好地决定怎么使用它。 2.1 单目深度估计:从一张照片看世界

2025电赛E题开源:二维云台激光打靶系统全解析(基于STM32F407+K230)

2025电赛E题开源:二维云台激光打靶系统全解析(基于STM32F407+K230)

2025电赛E题:二维云台激光打靶系统全解析——基于STM32F407的视觉伺服控制 本文详细介绍2025年全国大学生电子设计竞赛E题《二维云台激光打靶系统》的完整实现方案。项目基于STM32F407微控制器,结合视觉追踪、PID控制、步进电机驱动等技术,实现高精度的激光自动瞄准与发射功能。 🎯 项目背景与意义 在自动化控制领域,视觉伺服系统是实现高精度定位与追踪的关键技术。本次分享的项目,源自 2025 年全国大学生电子设计竞赛的赛题,题目要求设计一套二维云台系统,需具备自动识别目标、控制激光精准命中的功能。 该项目历经多重挑战,最终斩获了广东省赛区的省一等奖。由于我在此次比赛中主要负责二维云台激光打靶系统的设计,因此仅针对 25 年电赛 e 题的瞄准模块部分进行解说,自动循迹小车的内容会略过。 这个项目的成功落地,既为电子设计竞赛提供了一套完整的参考方案,也为嵌入式视觉伺服系统的教学与研究提供了宝贵的实践案例。 📊 系统总体设计 系统架构图 二维云台激光打靶系统 ├── 感知层(视觉模块) │ ├── 摄像头采集 │ └── 目标坐标提取 ├── 控制层(主控板

GitHub 镜像站点

国内访问 GitHub 有时会遇到速度慢或不稳定的情况,这时 GitHub 镜像站点就能帮上忙。它们通过代理或缓存机制,让你更顺畅地浏览仓库、下载资源甚至克隆代码。 下面表格汇总了一些常见的镜像站及其主要用途 镜像站点名称访问地址主要特点适用场景 bgithub.xyz https://bgithub.xyz/直接替换域名访问,操作简单日常浏览仓库、克隆代码 kkgithub.com https://kkgithub.com/直接替换域名,支持代码查看和 Issue日常浏览仓库、查看 Issues gitclone.com https://gitclone.com/提供在线工具生成克隆命令,适合命令行操作需要快速获取仓库克隆命令 kgithub.com https://kgithub.com/支持代码查看、Issue 和评论,但不支持注册和文件上传阅读代码、参与讨论(无需上传文件) ghproxy.net https:

阿里云全品类 8 折券限时领,建站 / AI / 存储通用 立即领取