关于简单的数据可视化
1. 安装数据可视化必要的openpyxl、pandas,matplotlib等软件包

使用清华源,命令如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pandaspip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn matplotlibpip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn openpyxl
安装成功后,可以进入下一步。
2. 这里新建一个Excel表格方便说明一下:
# 导包
import openpyxl
# 创建工作簿
workbook = openpyxl.Workbook()
# 选择默认的活动工作表
sheet = workbook.active
# 添加数据
data = [['Name','Age','Gender'],['Mike','25','Male'],['Alice','26','Female'],['Bob','25','Male'],['John','29','Male'],['Charlie','30','Male'],['Anna','25','Female'],]
for row in data:sheet.append(row)
# 保存工作簿到文件,完成创建
workbook.save("demo.xlsx")
运行代码生成如下表格:

3. 对性别进行可视化操作--绘制饼图:
# 导包
import pandas as pd
import matplotlib.pyplot as plt# 读取Excel文件
df = pd.read_excel("demo.xlsx")# 统计性别的数量
gender_counts = df['Gender'].value_counts()# 提取性别作为标签
genders = gender_counts.index.tolist()# 数据可视化 - 性别分布饼图
fig, ax = plt.subplots()
# pie函数用来绘制饼图
ax.pie(gender_counts, labels=genders, autopct='%1.1f%%', startangle=90)
ax.axis('equal') # 确保饼图为正圆形
plt.title('Gender Distribution')
plt.show()
运行结果如下图所示:

4. 对姓名和年龄进行可视化操作--绘制柱状图:
# 导包
import pandas as pd
import matplotlib.pyplot as plt# 读取Excel文件
file_path = 'demo.xlsx' # 请将这里替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')# 查看表格数据
print(df.head())# 绘制年龄的条形图
plt.figure(figsize=(10, 5))
plt.bar(df['Name'], df['Age'])
# x轴 y轴命名
plt.xlabel('Name')
plt.ylabel('Age')
# 表名
plt.title('Age by Name')
plt.legend(["Number"], loc='upper right') # 添加图例,标注柱状图表示的是"Number"
plt.show()
运行结果如下:


或者也可以根据单列(这里以年龄为横坐标)绘制柱状图:
# 导包
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns# 读取Excel表
file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')
plt.figure(figsize=(10, 10))
sns.displot(df['Age'])
plt.title('Age Distribution')
# 如果出现title显示不全,使用tight_layout函数即可
plt.tight_layout()
plt.show()
5. 对表格数据进行可视化操作--生成散点图:
# 导包
import pandas as pd
import matplotlib.pyplot as plt# 读取Excel文件
file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')# 确保数据包含'Name', 'Age', 和 'Gender'列
if 'Name' in df.columns and 'Age' in df.columns and 'Gender' in df.columns:# 创建散点图plt.scatter(df['Age'], df['Name'])plt.xlabel('Age')plt.ylabel('Name')plt.title('Scatter Plot')plt.show()
else:print("数据表中缺少'Name', 'Age', 或 'Gender'列。")
运行结果如下:

6. 对年龄数据进行可视化操作--绘制箱线图:
# 导包
import pandas as pd
import matplotlib.pyplot as plt# 读取Excel文件
file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')# 绘制箱线图
plt.figure(figsize=(10, 5))
plt.boxplot(df['Age'])
plt.title('Box Plot of Age')
plt.xlabel('Name')
plt.ylabel('Age')
plt.show()
运行结果如下:

7. 对年龄数据进行可视化操作--绘制折线图:
import matplotlib.pyplot as plt
import pandas as pd
# 读取Excel表
file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')
# 绘制折线图
plt.plot(df['Age'])
plt.title('Line Plot')
plt.xlabel('Time')
plt.ylabel('Age')
plt.show()
运行结果如下:
如果想对多个变量进行折线图的绘制,只需要将x轴和y轴的数据列替换为相应的列名即可。
这里绘制Gender和Age之间的关系折线图(不太恰当,为了举例):
plt.plot(df['Gender'], df['Age'])
plt.title('Gender vs Age Line Plot')
plt.xlabel('Gender')
plt.ylabel('Age')
plt.show()
8. 对年龄数据进行可视化操作--绘制直方图:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 读取Excel表
file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')# 绘制直方图 bins参数指定了直方图的柱子数量
sns.distplot(df['Age'], bins=20)
plt.title('Age Distribution')
plt.show()
结果如下:
相关文章:
关于简单的数据可视化
1. 安装数据可视化必要的openpyxl、pandas,matplotlib等软件包 使用清华源,命令如下: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pandaspip install -i https://pypi.tuna.tsingh…...
透明OLED屏价格:影响因素与市场趋势
在当今的显示技术领域,透明OLED屏以其独特的透明特性和出色的显示效果,正逐渐成为市场的新宠。然而,对于许多消费者和企业来说,透明OLED屏的价格仍是关注的焦点。作为OLED透明屏市场部总监,我认为了解影响透明OLED屏价…...
C++ 释放指针
在C中,释放指针通常使用delete或delete[]操作符; 如果指针指向的是单个对象,可以使用delete操作符进行释放; 在释放完内存后,最好将指针置为nullptr,以避免出现悬空指针(dangling pointer&#…...
三数之和【双指针】
Problem: 15. 三数之和 文章目录 思路 & 解题方法复杂度Code 思路 & 解题方法 两数相加的加强版,先确定第一个数,然后从右边去用双指针找另外两个数。注意题目需要避免重复的答案,所以要注意处理这个问题。 复杂度 时间复杂度: 添加…...
http 503 错误
503错误是一种HTTP状态码,表示你请求的网站或服务暂时不可用,通常是因为服务器过载或维护,你可能会看到类似这样的提示:503 Service Unavailable、503 Service Temporarily Unavailable、HTTP Server Error 503、HTTP Error 503 I…...
MATLAB - MPC - 优化问题(Optimization Problem)
系列文章目录 前言 模型预测控制可在每个控制间隔内解决一个优化问题,具体来说就是二次规划(QP)。求解结果决定了被控对象在下一个控制间隔之前使用的操纵变量(MV)。 该 QP 问题具有以下特点: 目标或 "成本 "函数 - …...
机器学习中的概念 张量、标量、向量、矩阵等数据结构的区别
张量、标量、向量和矩阵等数据结构在深度学习和数学中扮演着重要角色,它们之间的区别如下: 标量(Scalar):标量是一个单独的数,它没有方向,只有大小。在深度学习中,标量通常表示一个…...
eureka注册列表 某服务出现多个服务实例
最近文件导出功能偶发成功,大部分情况都失败,开始以为接口被拦截,gateway服务没有接口调用日志,发现测试环境可以,正式环境功能无法正常使用。 偶然看到注册中心如下 发现file服务有3个实例,调用接口将错误…...
ubuntu22.04配置双网卡绑定提升带宽
这里写自定义目录标题 Bonding简介配置验证参考链接 Bonding简介 bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载均衡等功能,有很…...
VINS-MONO拓展1----手写后端求解器,LM3种阻尼因子策略,DogLeg,构建Hessian矩阵
文章目录 0. 目标及思路1. 非线性优化求解器2. 基于VINS-MONO的Marginalization框架构建Hessian矩阵2.1 estimator.cpp移植2.2 solve.cpp/preMakeHessian()2.3 solve.cpp/makeHessian() 3. solve.cpp/solveLinearSystem()求解正规方程4. 更新状态5. 迭代求解6. EVO评估结果7. 待…...
RxJS 操作符-学习笔记
提前准备: pipe 方法: 用于组合多个操作符,可以将一系列操作符作为参数传递给 pipe 方法,这些操作符将 依次 对数据流进行处理。这里的依次很关键,也代表着pipe()中组合的这么几个操作符的执行顺序就是从开始一直到结束的,其中的…...
【Linux】linux配置静态IP、动态IP方法汇总
1、systemd-networkd 1.1 说明 systemd-networkd是systemd 的一部分 ,负责 systemd 生态中的网络配置部分(systemd-networkd.service, systemd-resolved.service)。使用 systemd-networkd,你可以为网络设备配置基础的 DHCP/静态IP网络等,还可以配置虚拟网络功能,例如网桥…...
Hive自定义函数支持国密SM4解密
当前项目背景需要使用到国密SM4对加密后的数据进行解密,Hive是不支持的,尝试了华为DWS数仓,华为只支持在DWS中的SM4加密解密,不支持外部加密数据DWS解密 新建Maven工程 只需要将引用的第三方依赖打到jar包中,hadoop和…...
CentOS 8 8.5.2111 网络在线安装系统 —— 筑梦之路
之前写过一篇关于centos 8 官方停止更新维护后解决yum源问题的文章: CentOS 8 停止维护后换可用yum源——筑梦之路_http://ftp.iij.ad.jp/pub/linux/centos-vault/8.5.21-CSDN博客 由于centos 8 dvd的镜像比较大,有时候我们根本不需要去下载一个10G以上…...
安全与认证Week3
目录 Key Management 密钥管理 密钥交换、证书 密钥的类别 密钥管理方面 密钥分发问题 密钥分发方案 混合密钥分发 公钥分发 公钥证书 X.509 理解X.509 X.509证书包含 X.509使用过程 X.509身份验证服务 X.509版本3 取消 由X.509引申关于CA 用户认证、身份管理…...
跟我学c++中级篇——再谈C++20中的协程
一、协程 在前面分析过协程是什么,也对c20中的协程的应用进行了举例说明。所以这次重点分析一下c20中的整体构成及应用的方式。等明白了协程是如何动作的,各种情况下如下何处理相关的事件,那么在以后写协程时就不会死搬硬套了。 二、整体说…...
【计算机毕业设计】SSM企业工资管理系统
项目介绍 本项目包含管理员与普通员工两种角色, 管理员角色包含以下功能: 管理员登录,员工管理,部门管理,岗位管理,职称管理,工龄奖金管理,工资项管理,考勤管理,工资查询,统计图表等功能。 员工角色包含以下功能: 员工登录,个人信息管理…...
x-cmd pkg | doggo - 现代化的 DNS 客户端
目录 简介首次用户快速实验指南功能特点类似工具与竞品进一步探索 简介 doggo 是一个由 Karan Sharma 于 2020 年使用 Go 语言开发的 DNS 客户端。它类似于 dig 命令,但旨在以现代化、简洁和可读的格式输出 DNS 查询结果。 首次用户快速实验指南 使用 x doggo 即可…...
c++-智能指针
1、概念 堆内存的对象需要手动使用delete销毁,如果忘记使用delete销毁就会造成内存泄漏。 所以C在ISO 98标注中引入了智能指针的概念,并在C11 中趋于完善。 使用智能指针可以让堆内存对象具有栈内存对象的特性。原理时给需要自动回收的堆内存对象套上一层…...
烟花燃放如何管控?智能分析网关V4烟火检测保障烟火安全
一、方案背景 随着元旦佳节的热潮退去,春节也即将来临,在众多传统的中国节日里,烟花与烧纸祭祀都是必不可少的,一方面表达了人们对节日的庆祝的期许,另一方面也是一种对故者思念的寄托。烟花爆竹的燃放不仅存在着巨大的…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
