可视化日记——极坐标绘制雷达图

目录

一、创建极坐标

二、数据集准备

三、划分角度 

四、指定半径

五、绘制


一、创建极坐标

        Python中没有直接画雷达图的函数,若要绘制需要先创建画布和极坐标轴域,再设定角度与半径的参数(极坐标中角度与半径确定一个点的位置)

fig = plt.figure(figsize=[10, 6])
ax = plt.subplot(111, polar=True)

二、数据集准备

        前期已由k-means聚类算法得到对应数据集 visualization_data,对其进行标准化数处理:

# 标准化
v_scaler= StandardScaler()
v_scaled= v_scaler.fit_transform(visualization_data.iloc[:5,:])v_scaled=pd.DataFrame(v_scaled,index=visualization_data.index[:5],columns=visualization_data.columns)
v_scaled

        标准化后待绘图的数据 v_scaled 如下:

三、划分角度 

        现在有五个属性,需要把 2π 划分为5分

# 划分角度
angles = np.linspace(0, 2 * np.pi, len(v_scaled), endpoint=False) # 极坐标的角度值根据数据属性数量进行等分
label_θ = np.concatenate((angles,[angles[0]]),axis=0)
print(label_θ)
print(angles)# 有无concatenate的区别
[0.         1.25663706 2.51327412 3.76991118 5.02654825 0.        ]
[0.         1.25663706 2.51327412 3.76991118 5.02654825]

(没有 concatenate 连接在绘制时会变成这样) 

https://www.cnblogs.com/kallan/p/6738577.html

        [angles[0]]无方括号会报错,因为进行的是数组间的连接,不能数组与整数之间这样连接

四、指定半径

# 值——即半径长度,以类别2为例
propvalue = v_scaled.iloc[:,1]
label_l=np.concatenate((propvalue,[propvalue[0]]))
print(propvalue)
print(label_l)[Recency      1.819582
Frequency   -0.864999
Monetary     0.263034
客单价         -0.353453
客单件         -0.864165
Name: 2, dtype: float64][ 1.81958224 -0.86499907  0.26303444 -0.35345253 -0.86416507  1.81958224]

五、绘制

        绘制雷达图,在极坐标下仍然使用plot(),参数是极坐标参数就可以了

### 以下代码需要在同一框内实现 ###
fig = plt.figure(figsize=(30,30)) # 创建画布
mpl.rcParams["font.sans-serif"] = ["SimHei"] # 中文
mpl.rcParams['axes.unicode_minus']=False # 负号
plt.subplots_adjust(hspace=0.4)  # 设置一下子图之间的垂直距离
color=['green','springgreen','springgreen','lime','lime','g','g','lime','g'] # 指定颜色for i in range(0,len(v_scaled.columns)):        # 0开始循环绘制,数据集有9列ax1 = fig.add_subplot(3,3,i+1,polar=True)   # 定位到第i+1个axespropvalue = v_scaled.iloc[:,i]                        # 第 i 列  label_l=np.concatenate((propvalue,[propvalue[0]]))    # 连接ax1.plot(label_θ, label_l,color='g',alpha=0.5 )       # plot的作用是画图并连线ax1.fill(label_θ, label_l, color=color[i],alpha=1)    # 填充,设置颜色和深浅# 其他元素设置# 设置雷达图中每一项的标签显示ax1.set_thetagrids(angles*180/np.pi, v_labels,fontsize=25)    # 设置雷达图的0度起始位置ax1.set_theta_zero_location('E')# 设置雷达图的坐标刻度范围ax1.set_rlim(-2.5, 2.5)# 设置雷达图的坐标值显示角度,相对于起始角度的偏移量# 设置标题ax1.set_title('类别'+str(v_scaled.columns[i])+':'+str(labeled_data_rate.T.loc['数量',v_scaled.columns[i]])+'人',fontsize=35)

(部分图片) 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专业135+总分400+重庆邮电大学801信号与系统考研经验重邮电子信息与通信工程,真题,大纲,参考书。

今年分数出来还是比较满意,专业801信号与系统135,总分400,没想到自己也可以考出400以上的分数,一年的努力付出都是值得的,总结一下自己的复习心得,希望对大家复习有所帮助。专业课:(…

(ROOT)KAFKA详解

生产篇 使用 /** Licensed to the Apache Software Foundation (ASF) under one or more* contributor license agreements. See the NOTICE file distributed with* this work for additional information regarding copyright ownership.* The ASF licenses this file to Y…

设计模式学习笔记 - 设计原则与思想总结:2.运用学过的设计原则和思想完善之前性能计数器项目

概述 在 《设计原则 - 10.实战:针对非业务的通用框架开发,如何做需求分析和设计及如何实现一个支持各种统计规则的性能计数器》中,我们讲解了如何对一个性能计数器框架进行分析、设计与实现,并且实践了一些设计原则和设计思想。当…

macOS 通过 MacPorts 正确安装 MySQL 同时解决无法连接问题

如果你通过 sudo port install 命令正常安装了 MySQL,再通过 sudo port load 命令启动了 MySQL Server,此刻却发现使用 Navicat 之类的 GUI 软件无法连接,始终返回无法连接到 127.0.0.1 服务器。这是一个小坑,因为他默认使用了 So…

Git——GitHub远端协作详解

目录 Git&GitHub1、将内容Push到GitHub上1.1、在GitHub上创建新项目1.2、upstream1.3、如果不想要相同的分支名称 2、Pull下载更新2.1、Fetch指令2.2、Fetch原理2.3、Pull指令2.4、PullRebase 3、为什么有时候推不上去3.1、问题复现3.2、解决方案一:先拉再推3.3…

vue+element 前端实现增删查改+分页,不调用后端

前端实现增删查改分页&#xff0c;不调用后端。 大概就是对数组内的数据进行增删查改分页 没调什么样式&#xff0c;不想写后端&#xff0c;当做练习 <template><div><!-- 查询 --><el-form :inline"true" :model"formQuery">&l…

Git 仓库瘦身与 LFS 大文件存储

熟悉 Git 的小伙伴应该都知道随着 Git 仓库维护的时间越来越久&#xff0c;追踪的文件越来越多&#xff0c;git 存储的 objects 数量会极其庞大&#xff0c;每次从远程仓库 git clone 的时候都会墨迹很久。如果我们不小心 git add 了一个体积很大的文件&#xff0c;且 git push…

云原生部署手册02:将本地应用部署至k8s集群

&#xff08;一&#xff09;部署集群镜像仓库 1. 集群配置 首先看一下集群配置&#xff1a; (base) ➜ ~ multipass ls Name State IPv4 Image master Running 192.168.64.5 Ubuntu 22.04 LTS1…

大模型赋能机器狗,西工大离线具身智能研究取得新突破!

“啪嗒啪嗒…”&#xff0c;一只机器狗在街上迈着规律的步伐&#xff0c;拉着牵引绳的盲人&#xff0c;在它的带领下越过沿路障碍&#xff0c;平稳地行走着。电子导盲犬能否取代传统导盲犬&#xff0c;解决视障人士一犬难求的困境&#xff1f;西工大团队在此方面开展研究攻关&a…

安卓使用MQTT实现阿里云物联网云台订阅和发布主题(3)

一、订阅主题代码讲解 private final String mqtt_sub_topic "/sys/k0wih08FdYq/LHAPP/thing/service/property/set";//订阅话题//mqtt客户端订阅主题//QoS0时&#xff0c;报文最多发送一次&#xff0c;有可能丢失//QoS1时&#xff0c;报文至少发送一次&#xff0c…

linux网络固定ip的方式

1. 注意 默认情况下&#xff0c;我们linux操作系统 ip 获取的方式是自动获取的方式&#xff08;DHCP&#xff09;&#xff0c;自动获取在我们需要进行集群配置的时候&#xff0c;IP会经常变化&#xff0c;需要将IP固定下来。 2. 第一步 编辑我们 linux 的网卡文件 这个网卡文件…

MIT的研究人员最近开发了一种名为“FeatUp”的新算法,这一突破性技术为计算机视觉领域带来了高分辨率的洞察力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【目标检测】2. RCNN

接上篇 【目标检测】1. 目标检测概述_目标检测包括预测目标的位置吗?-CSDN博客 一、前言 CVPR201 4经典paper:《 Rich feature hierarchies for accurate object detection and semantic segmentation》&#xff0c;https://arxiv.org/abs/1311.2524, 这篇论文的算法思想被称…

静态路由实验(HCIP部分)

1、拓扑信息 2、需求分析 3、IP规划 4、配置截图 5、测试 1、拓扑信息 2、需求分析 1、 R6为isp,接口IP地址均为公有地址&#xff1b;该设备只能配置IP地址&#xff0c;之后不能再对其进行其他任何配置; 分析&#xff1a; R6只需配置一个环回和链路物理接口IP即可 2 、R1-R5为…

pytorch多层感知机

目录 1. 多层感知机2. 多层感知机loss梯度推导3. pytorch示例 1. 多层感知机 有多个输入节点、多个中间节点和多个输出节点 2. 多层感知机loss梯度推导 3. pytorch示例

Go语言gin框架中加载html/css/js等静态资源

Gin框架没有内置静态文件服务&#xff0c;但可以使用gin.Static或gin.StaticFS中间件来提供静态文件服务。 效果图如下&#xff1a; 一、gin 框架加载 Html 模板文件的方法 方式1&#xff1a;加载单个或多个html文件&#xff0c;需要指明具体文件名 r.LoadHTMLFiles("vie…

python基础——字典【特点,定义,引用操作,pop,clear,keys,items】

&#x1f4dd;前言&#xff1a; 今天我们来学习一下python中的常见数据容器之一——字典&#xff1a; 1&#xff0c;字典的特点及定义 2&#xff0c;字典的引用操作 3&#xff0c;字典的常见操作方法 &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&…

功能齐全的免费 IDE Visual Studio 2022 社区版

面向学生、开放源代码和单个开发人员的功能齐全的免费 IDE 下载地址 Visual Studio 2022 社区版 - 下载最新的免费版本 Visual Studio 2022 Community Edition – Download Latest Free Version 准备安装 选择需要安装的程序 安装进行中 使用C学习程序设计相关知识并培养编程…

C# WPF编程-布局

C# WPF编程-布局 布局WPF布局原则布局过程布局容器布局属性Border控件StackPanel布局WrapPanel布局DockPanel布局Grid布局UniformGrid布局Canvas布局 布局 WPF布局原则 WPF窗口只能包含单个元素。为在WPF窗口中放置多个元素并创建更贴近实用的用户界面&#xff0c;需要在窗口…

【Android】【Bluetooth Stack】蓝牙电话协议分析(超详细)

1. 精讲蓝牙协议栈&#xff08;Bluetooth Stack&#xff09;&#xff1a;SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅&#xff0c;【蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待&#xff01…