python 画三维散点图

news2024/11/24 19:07:39
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from mpl_toolkits.mplot3d import Axes3D # 空间三维画图

def get_color(label):
    label_color = []
    for i in range(0,len(label)):
        if label[i] == 0:
            label_color.append('red')
        elif label[i] == 1:
            label_color.append('blue')
        elif label[i] == 2:
            label_color.append('green')
        elif label[i] == 3:
            label_color.append('#c957db')
        elif label[i] == 4:
            label_color.append('black')
        elif label[i] == 5:
            label_color.append('yellow')
    return label_color
def draw_3d_pic(x,y,z,label):
    color3 = get_color(label)
    fig = plt.figure()
    ax = Axes3D(fig)
    # ax.scatter(x, y, z)
    ax.scatter(x, y, z, c=color3)  
    # 添加坐标轴
    ax.set_xlabel('X', fontdict={'size': 10, 'color': 'black'})
    ax.set_ylabel('Y', fontdict={'size': 10, 'color': 'black'})
    ax.set_zlabel('Z', fontdict={'size': 10, 'color': 'black'})
    plt.show()

上述两个函数组合可以画出一个带label标签的三维散点图。
label最多支持六种分类。每种分类对应一种颜色,如果分类超过六种,可以再增加。
如果低于六种,那就不用改。
x,y,z是三维数据。

用法示例

读取的数据应该是三维的。

version = 1
datafile = './data'+str(version)+'.csv'
labelfile = './label'+str(version)+'.csv'
data = pd.read_csv(datafile)
label = pd.read_csv(labelfile).to_numpy()
label = np.transpose(label)[0].tolist()
# print(label)
# #设置x、y、z轴
x=data.iloc[:, 0]
y=data.iloc[:, 1]
z=data.iloc[:, 2]
draw_3d_pic(x,y,z,label)

关键代码

Axes3D(fig).scatter()参数详细解析:
请添加图片描述
请添加图片描述

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

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

相关文章

SpringBoot3安全管理

标签:Security.登录.权限; 一、简介 SpringSecurity组件可以为服务提供安全管理的能力,比如身份验证、授权和针对常见攻击的保护,是保护基于spring应用程序的事实上的标准; 在实际开发中,最常用的是登录验…

BC136 KiKi去重整数并排序

给定一个整数序列,KiKi想把其中的重复的整数去掉,并将去重后的序列从小到大排序输出。 输入描述 第一行,输入一个整数n,表示序列有n个整数。 第二行输入n个整数(每个整数大于等于1,小于等于1000&#xf…

Azure资源命名和标记决策指南

参考 azure创建虚拟机在虚拟机中选择编辑标签,并添加标记,点击应用 3.到主页中转到所有资源 4. 添加筛选器并应用 5.查看结果,筛选根据给服务器定义的标签筛选出结果。 参考链接: https://learn.microsoft.com/zh-cn/azure/cloud-adoption…

Java接口压力测试—如何应对并优化Java接口的压力测试

导言 在如今的互联网时代,Java接口压力测试是评估系统性能和可靠性的关键一环。一旦接口不能承受高并发量,用户体验将受到严重影响,甚至可能导致系统崩溃。因此,了解如何进行有效的Java接口压力测试以及如何优化接口性能至关重要…

3张照片打造专属形象!酷蛙FaceChain解密个人写真开源项目,人人AIGC!

一、背景说明 各类AI写真软件由于其精准的个人形象精美的生成效果引爆了朋友圈传播,证件照满足了用户刚需,古装照等风格照满足了用户“美照”的需求。 酷蛙FaceChain开源项目团队推出了开源版本,希望结合开源社区开发者的力量,可…

Linux之openoffice安装

一、openoffice简介 OpenOffice是一个开源的办公软件套件,包含了文本编辑器、电子表格、演示文稿、数据库和绘图等应用程序。它可以在多个操作系统上运行,包括Windows、Mac OS X和Linux等。OpenOffice的目标是提供一个完全免费、功能齐全的办公软件套件&…

【LeetCode】【数据结构】栈与队列必刷OJ题

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言: 【LeetCode】20.有效的括号(栈的…

1289. 下降路径最小和 II

题目描述: 给你一个 n x n 整数矩阵 grid ,请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为:从 grid 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组的同一列。 示例&am…

企业级备份 - 让您的数据安全防线坚韧如山

产品定义 数据威胁无处不在,不论数据处于何地,以何种形态体现,数据安全都至关重要。备份作为数据安全的最后一道防线,需要慎之又慎。针对数据备份与恢复的企业级应用,联想凌拓 (Lenovo NetApp) 与华睿泰 (Veritas) 共同…

【C++】速识string

一、创建string对象 1、文档 2、常用 并不是所有的用法都需要熟记于心,我们只需记住常用的即可,对于并不常用的,我们可以在用到的时候查看文档学习使用。 void Test1() {string s1;string s2("Hello World");s1 "Hello …

Android 10.0 禁止二次展开QuickQSPanel设置下拉QSPanel高度

1.前言 在10.0的系统定制化需求中,在进行systemui的ui定制开发中,有些需要对原生systemui下拉状态栏中的二次展开QSPanel修改成 一次展开禁止二次展开,所以就需要修改QuickQSpanel的高度,然后在QuickQsPanel做定制,然后禁止二次展开就可以了 如图: 2.禁止二次展开Quic…

ubuntu下FFmpeg安装和使用以及CMakeLists.txt模板

sudo apt install ffmpeg sudo apt-get install libavfilter-devcmakelist模板 CMakeLists.txt cmake_minimum_required(VERSION 3.16) project(ffmpeg_demo)# 设置ffmpeg依赖库及头文件所在目录,并存进指定变量 set(ffmpeg_libs_DIR /usr/lib/x86_64-linux-gnu) …

【Windows 常用工具系列 7 -- 禁用win10自带的微软输入法】

文章目录 1.1 输入法配置 1.1 输入法配置 首先建议采用搜狗输入法,这个更符合中国人的输入习惯,强烈建议删除微软自带的中文输入法,删除方式见: 点击电脑主屏幕左下角开始图标,选择设置: 选择“时间和语…

AutoxJS脚本保姆级教程

目录 引言 准备工作 脚本开发 邮件提示(不使用邮件推送的可以跳过这步) 节假日判断(不需要判断节假日的可以跳过) 问题及技巧归总 JS语法错误:软件更新 按钮或组件无法找到 使用定时器等待组件出现 root环境下…

Scratch 之 单个角色模糊特效

想给单独一个角色用模糊特效,怎么办!!! 完全不用慌,最近,我做出了超好用的个体模糊特效,用起来超级简单,接下来进入讲解。 1.原理 前几天,我闲来无事,摘下眼镜…

【2023年11月第四版教材】《第4章-信息系统管理之管理要点(第四版新增章节)(第二部分)》

信息系统管理之管理要点(第四版新增章节)(第二部分) 2 管理要点2.1 数据管理能力成熟度评估模型DCMM详细表格简要表格 2.2 组织的管理成熟度2.3 能力模型2.4 智能运维能力框架2.5 安全保护等级 2 管理要点 2.1 数据管理能力成熟度…

华为云classroom赋能--Devstar使应用开发无需从零开始

华为云DevStar为开发者提供业界主流框架代码初始化能力,通过GUI、API、CLI等多种方式,将按模板生成框架代码的能力推送至用户桌面。同时基于华为云服务资源、成熟的DevOps开发工具链和面向多场景的众多开发模板,提供一站式创建代码仓、自动生…

js的练习

这里写目录标题 工具代码运行结果 工具 HBuilder X 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><script>window.onload function() // 需要在body加载完成之后&#xff0c;才能通过docu…

HCIP BGP小综合

BGP小综合 AS配置AS1AS2 中的小自治系统64512AS2 中的小自治系统64513AS3 测试 首先该实验分成三个AS&#xff0c;AS2里面有联邦&#xff0c;所以配置顺序 要先将IBGP通&#xff0c;然后配置AS1,AS3和联邦 AS配置 AS1 R1 # bgp 1router-id 1.1.1.1peer 12.1.1.2 as-number …

C++ 网络编程项目fastDFS分布式文件系统(二)-redis部分

目录 1. 数据库类型 1.1 基本概念 1.2 关系/非关系型数据库搭配使用 2. Redis 2.1 基本知识点 2.2 redis常用命令 - String类型 - List类型 - Set类型 - SortedSet 类型 - Hash类型 Key 相关的命令 2.3 redis配置文件 2.4 redis数据持久化 3 hiredis的使用 1. 数据…