matplotlib雷达图制作具体步骤

此次我们制作的是关于护肤品下的畅销品类雷达图,数据如下:

数据预览:

一、代码展示

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
adress="D:/pandas练习文件/雷达图.xlsx"
df=pd.read_excel(adress)
print(df)
# 数据包含彩妆和护肤品两类,获取护肤品数据
护肤品=df.loc[df.大类=="护肤品",:]
#获取数据后充值索引,方便下面的闭环操作选中数据第一个
护肤品.reset_index(drop=True,inplace=True)
#将x,y轴数据和角度获取到
小类=护肤品["小类"]
销量=护肤品["销量"]
角度=np.linspace(0,2*np.pi,len(小类),endpoint=False)#注意角度获取方式
#进行闭环操作,运用np.concatenate
#必须要注意双层括号(())和后面选中第一个值外面套一个中括号[销量[]]
小类=np.concatenate((小类,[小类[0]]))
销量=np.concatenate((销量,[销量[0]]))
角度=np.concatenate((角度,[角度[0]]))
#创建图,注意这里一定要写jpg=,否则写plt的话下面的set_thetagrids无法运行
jpg=plt.subplot(111,polar=True)
jpg.plot(角度,销量,'bo-')
jpg.fill(角度,销量,'b',alpha=0.3)
#将雷达图中的角度值替换成想要的数据文字
jpg.set_thetagrids(角度*180/np.pi,小类)
plt.title('护肤品畅销品类')
plt.show()

二、具体步骤分解

1.导入相关包并读取表格数据

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
adress="D:/pandas练习文件/雷达图.xlsx"
df=pd.read_excel(adress)

2.运用loc获取所需的护肤品数据

护肤品=df.loc[df.大类=="护肤品",:]

3.重置数据索引

 

护肤品.reset_index(drop=True,inplace=True)

如果不重置索引的话不方便闭环操作中选取第一个数据这一操作 

4. 获取雷达图所需数据

小类=护肤品["小类"]
销量=护肤品["销量"]

5.设置角度 (运用np.linspace)

角度=np.linspace(0,2*np.pi,len(小类),endpoint=False)

注:np.pi是指圆周率Π,也就是180°,2*np.Π也就是360°

6. 进行闭环操作

#必须要注意双层括号(())和后面选中第一个值外面套一个中括号[销量[]]
小类=np.concatenate((小类,[小类[0]]))
销量=np.concatenate((销量,[销量[0]]))
角度=np.concatenate((角度,[角度[0]]))

7.创建雷达图

(1)雷达图初创

jpg=plt.subplot(111,polar=True)

注意:这里一定要写jpg=,如果直接写plt.subplot(111,polar=True)的话下面的set_thetagrids无法运行 

(2) 填入数据

jpg.plot(角度,销量,'bo-')

“bo-” 解释:b是设置点线的颜色,是blue的缩写,o是点的样式,-是指用线连接各个点

(3)填充

jpg.fill(角度,销量,'b',alpha=0.3) 

(4) 将雷达图中的角度值替换成想要的数据文字

jpg.set_thetagrids(角度*180/np.pi,小类)

(5) 标题

plt.title('护肤品畅销品类')

(6)

plt.show()

三、效果图展示

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于Windows Media Player的一些知识,看这篇文章就差不多了

你知道如何在电脑上打开Windows Media Player吗?如果它不是你电脑上默认的媒体播放器,你知道如何将其设为默认吗?此外,如果你找不到它,你知道怎么把它找回来吗?这篇文章将向你展示你想要了解的所有信息。 在这篇文章中,我们将向你展示以下信息: 如何打开Windows Medi…

【MySQL/Redis】如何实现缓存一致

目录 不实用的方案 1. 先写 MySQL , 再写 Redis 2. 先写 Redis , 再写MySQL 3. 先删 Redis,再写 MySQL 实用的方案 1. 先删 Redis,再写 MySQL, 再删 Redis 2. 先写 MySQL , 再删 Redis 3. 先写MySQL,通过BinLog&#xff0…

Pytest测试技巧之Fixture:模块化管理测试数据

在 Pytest 测试中,有效管理测试数据是提高测试质量和可维护性的关键。本文将深入探讨 Pytest 中的 Fixture,特别是如何利用 Fixture 实现测试数据的模块化管理,以提高测试用例的清晰度和可复用性。 什么是Fixture? 在 Pytest 中&a…

ClickHouse--10--临时表、视图

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.临时表1.1 特征1.2 创建一个临时表 2.视图2.1 普通视图2.2 物化视图 1.临时表 1.1 特征 ClickHouse 支持临时表,临时表具备以下特征: 当…

[GYCTF2020]Blacklist

感觉是[强网杯 2019]随便注 的加强版,之前做的是最后可以通过prepare和execute实现对select的绕过,但是这题把这两个关键字也过滤了。 前面堆叠注入没啥问题,卡在了最后读取flag 查看其他师傅的wp,发现这个handler的可以当作丐版s…

html的超链接标签 a

超链接标签: a a标签有2个重要的属性,href和target属性。 href:必须具备,表示点击后会跳转到哪个页面 target:打开方式.默认是 _self.如果是 _blank则用新的标签页打开. 超链接href属性的使用展示 1.通过图片展示 示例代码 运行效果: 点…

Android---Jetpack Compose学习005

动画 1. 简单值动画 示例:背景颜色在紫色和绿色之间,以动画形式切换。使用 animateColorAsState() val backgroundColor by animateColorAsState(if (tabPage TabPage.Home) Purple100 else Green300) 该句代码中,有一个 backgroundColo…

D. Divisible Pairs

思路:我们预处理出每个数分别摸上xy的值,用map存一下,然后遍历每个数,如果a b是x的倍数的话,那么他们模x的值相加为x,如果a - b是y的倍数的话,那么他们的模y的值相等。 代码: voi…

浅析Linux内核线程监测机制:Hung Task

文章目录 概述Hung Task配置Hung Task机制初始化Hung Task监测线程 相关参考 概述 Hung Task机制周期性地监测系统中处于TASK_UNINTERRUPTIBLE状态(即D状态)的进程,如果超过120s(时间可配),进程状态还没有…

解决:RuntimeError: shape ‘[1, 3, 32, 32]‘ is invalid for input of size 4096

报错: 原因: 因为我下载的图片是4通道的:通过下面打印出来的结果可知是RGBA四通道的。 解决方法: 但是网络的输入需要RGB三通道,因此需要使用下列方法进行转换: image_path "../imgs/dog.png"…

红色系可视化界面,偶尔用用可以,长时间太刺眼。

继昨日发了白色的可视化界面,表明了不适合做大屏展示用,友友们从很多角度阐述了,为什么不能用白色,大家的结论基本一致。 今天发一些红色,这些在某个节日用个一小会还行,长时间用肯定不适合。

【日常聊聊】新年新征程:迎接学习的挑战

🍎个人博客:个人主页 🏆个人专栏:日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 结语 我的其他博客 前言 随着新的一年的到来,程序员们站在了全新的起点。这是一个充满机遇和挑战的时刻&#xff0…

深入了解JavaScript混淆工具:jsjiami.v6

JavaScript混淆工具在前端开发中发挥着重要的作用,帮助开发者保护源代码,减少代码被轻易破解的风险。其中,jsjiami.v6 是一款备受开发者关注的混淆工具之一。本文将深入介绍jsjiami.v6的基本原理和使用方法,并通过案例代码演示其效…

相机图像质量研究(19)常见问题总结:CMOS期间对成像的影响--Sensor Noise

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

(一)【Jmeter】JDK及Jmeter的安装部署及简单配置

JDK的安装和环境变量配置 对于Linux、Mac和Windows系统,JDK的安装和环境变量配置方法略有不同。以下是针对这三种系统的详细步骤: 对于Linux系统: 下载适合Linux系统的JDK安装包,可以选择32位或64位的版本。 将JDK的安装包放置…

华清远见嵌入式学习——春节作业——2.15日

作业要求&#xff1a; 编写led驱动&#xff0c;通过应用程序控制三盏灯亮灭 作业答案&#xff1a; 作业效果&#xff1a; mychrdev.c #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/uaccess.h> #incl…

单源最短路建图方式例题整理

1129. 热浪&#xff08;活动 - AcWing&#xff09; 思路&#xff1a;题目只是加了一个背景&#xff0c;但实际上还是很裸的单源最短路问题。我们有四种写法&#xff0c;bellman_ford算法时间复杂度不如spfa&#xff0c;而且这里对边数没有限定&#xff0c;所以没必要使用bellma…

【JAVA-Day77】Java线程继承Thread类实现Runnable接口

Java线程继承Thread类实现Runnable接口 《Java线程编程指南&#xff1a;轻松掌握线程的创建和启动》摘要 &#x1f60a;引言 &#x1f680;一、什么是进程和线程 ❓二、线程如何创建 &#x1f60e;2.1 继承Thread类并重写run()方法 &#x1f4dd;2.2 实现Runnable接口并实现run…

jvm 内存模型介绍

一、类加载子系统 1、类加载的过程&#xff1a;装载、链接、初始化&#xff0c;其中&#xff0c;链接又分为验证、准备和解析 装载&#xff1a;加载class文件 验证&#xff1a;确保字节流中包含信息符合当前虚拟机要求 准备&#xff1a;分配内存&#xff0c;设置初始值 解析&a…

Protégé pizza 03 Install Protege - 本体编辑器 Ontology Editor

Protege是一款非常方便使用的开源的本体&#xff08;ontology&#xff09;编辑器&#xff0c;可以用来建立知识图谱。 这个视频介绍了Protege工具的安装&#xff0c;是学习pizza.owl系列知识的前提。 https://v.youku.com/v_show/id_XNjE1NDc0NTU3Mg.html