matplotlib雷达图制作具体步骤

news2024/11/28 18:54:56

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

数据预览:

一、代码展示

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()

三、效果图展示

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

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

相关文章

JAVA设计模式之解释器模式详解

解释器模式 1 解释器模式介绍 解释器模式使用频率不算高,通常用来描述如何构建一个简单“语言”的语法解释器。它只在一些非常特定的领域被用到,比如编译器、规则引擎、正则表达式、SQL 解析等。不过,了解它的实现原理同样很重要&#xff0…

零基础学编程怎么入手,中文编程工具构件箱之星空构件用法教程,系统化的编程视频教程上线

零基础学编程怎么入手,中文编程工具构件箱之星空构件用法教程,系统化的编程视频教程上线 一、前言 今天给大家分享的中文编程开发语言工具资料如下: 编程入门视频教程链接 http://​ https://edu.csdn.net/course/detail/39036 ​ 编程…

Java17之使用Lambda表达式对对象集合中指定的字段进行排序

Java17之使用Lambda表达式对对象集合中指定的字段进行排序 文章目录 Java17之使用Lambda表达式对对象集合中指定的字段进行排序1. 集合对象排序1. Java实体类2. 正序排序3.倒序排序 1. 集合对象排序 Java8起可用 List 的 sort 方法进行排序,形参为函数式接口Compara…

C++ //练习 6.12 改写6.2.1节中练习6.10(第188页)的程序,使用引用而非指针交换两个整数的值。你觉得哪种方法更易于使用呢?为什么?

C Primer(第5版) 练习 6.12 练习 6.12 改写6.2.1节中练习6.10(第188页)的程序,使用引用而非指针交换两个整数的值。你觉得哪种方法更易于使用呢?为什么? 环境:Linux Ubuntu&#x…

Docker关于conda环境的导出和导入

Docker关于conda环境的导出和导入 1、常用命令:2、环境导出:3、两个服务器之间的文件传输命令:4、环境导入:5、快速进入容器6、其他问题解决记录: 1、常用命令: docker pull -- 从远程仓库将镜像下载至本地…

医疗相关名词,医疗名词整理

1.系统类: HIS Hospital Information System,医院信息系统,在国际学术界已公认为新兴的医学信息学(Medical Informatics)的重要分支。美国该领域的著名教授Morris.Collen于1988年曾著文为医院信息系统下了如下定义:利用电子计算…

[Linux开发工具]项目自动化构建工具-make/Makefile

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1.背景2.依赖关系和依…

error An unexpected error occurred: “https://registry.npm.taobao.org

背景: 想使用yarn命令结果报错 问题原因: 原来证书到期了 http://registry.npm.taobao.org/ 把这个放到浏览器搜索的时候自动换成https://registry.npmmirror.com/ 方案: npm cache clean --forcenpm config set registry https://registry…

Windows 虚拟桌面信息(一)分析注册表

目录 前言 一、理论分析 二、代码实现 总结 本文为原创文章,转载请注明出处: https://blog.csdn.net/qq_59075481/article/details/136110636 前言 Win 10/11 的虚拟桌面微软暂时没有开放接口,有很多信息对开发者是闭塞的,…

Qt QWidget以及各种控件、布局 核心属性(适合入门使用时查询)

目录 1. QWidget核心属性 2. 按钮类控件 2.1 PushButton 核心属性 2.2 RadioButton 核心属性 2.3 CheckBox 和 Tool Button 核心属性 3. 显示类控件 3.1 Label 核心属性 3.2 LCDNumber 核心属性 3.3 ProgressBar 核心属性 3.4 Calendar Widget 核心属性 4. 输入类控…

Photoshop 中的“彩蛋”

在 Photoshop 中隐藏了几个“彩蛋” Easter Eggs,是开发者留下的小秘密或玩笑功能,也许是他们在紧张的开发过程中的一种自我调节吧,就如复活节彩蛋一样,同样也可以给 Photoshop 的用户们带来一点小“惊喜”。 这些彩蛋通常以有趣的…

上位机图像处理和嵌入式模块部署(借鉴与学习)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于很多学院派的同学来说,他们对市场的感觉一般是比较弱的。如果写一个软件的话,或者说开发一个项目的话,他们…

【C++关联式容器】unordered_map

目录 unordered_map 1. pair类型 2. 关联式容器额外的类型别名 3. 哈希桶 4. 无序容器对关键字类型的要求 5. Member functions 5.1 constructor、destructor、operator 5.1.1 constructor 5.1.2 destructor 5.1.3 operator 5.2 Capacity ​5.2.1 empty 5.2.2 si…

C/C++内存管理:new、delete功能及原理实现

目录 一、C/C内存分布 二、C中内存管理方式 2.1new/delete操作内置类型 2.2 new和delete操作自定义类型 三、operator new与operator delete函数 四、new和delete的实现原理 4.1内置类型 4.2自定义类型 五、定位new 一、C/C内存分布 int globalVar 1; static int sta…

Java学习第十三节之三种初始化和内存分析

三种初始化 package array;public class ArrayDemo02 {public static void main(String[] args) {//静态初始化&#xff1b;创建赋值int[] a {1, 2, 3, 4, 5, 6, 7, 8};System.out.println(a[0]);for (int i 0; i <a.length; i) {System.out.println(a[i]);}//动态初始化…

你的电脑关机吗

目录 程序员为什么不喜欢关电脑&#xff1f; 电脑长时间不关机会怎样? 电脑卡顿 中度风险 硬件损耗 能源浪费 散热问题 软件问题 网络安全问题 程序员为什么不喜欢关电脑&#xff1f; 大部分人都会选择将电脑进行关机操作。其实这不难理解&#xff0c;毕竟人类都需要…

Qt初使用(使用Qt创建项目,在创建的项目中添加类,Qt中输出内容到控制台,设置窗口大小和窗口标题,Qt查看说明文档)

目录 一.创建带模板的项目新建项目运行在文件中查看该项目文件 二.在创建好的项目中添加类三.创建空项目&#xff08;不使用自带的模板&#xff09;四.Qt中输出内容到控制台五.设置窗口大小 , 窗口标题 ,固定窗口大小QWidget组件的说明 六.Pro文件帮助文档 按windows键&#xf…

1_opencv3环境搭建与测试

之前2020年5月写过一次&#xff0c;时隔3年多&#xff0c;有机会再重新写一次。相比之前&#xff0c;应该是有一点儿进步的。之前是使用默认安装路径&#xff0c;所以无需配置共享库的搜索路径。这次是自定义安装路径&#xff0c;略有区别。随着写程序的时间增长&#xff0c;编…

LeetCode Python - 14.最长公共前缀

目录 题目答案运行结果 题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 “”。 示例 1&#xff1a; 输入&#xff1a;strs [“flower”,“flow”,“flight”] 输出&#xff1a;“fl” 示例 2&#xff1a; 输入&#xff…

react 【二】 setState/react性能优化/dom操作

文章目录 1、setState1.1 setState的三种用法1.2 setState为什么是异步 2、React性能优化2.1 react的更新机制2.2 如何优化性能2.2.1 shouldComponentUpdate2.2.2 PureComponent2.2.3 memo 3、不可变数据的力量4、dom操作4.1 通过ref获取dom的三种方式4.2 执行子组件的方法&…