【Python】Python中使用Matplotlib绘制折线图、散点图、饼形图、柱形图和箱线图

news2024/10/7 10:18:49

【Python】使用Matplotlib绘制折线图、散点图、饼形图、柱形图和箱线图

python数据可视化课程,实验二

Matplotlib 中文API:API 概览 | Matplotlib

一、实验任务的数据背景

提供的源数据(数据文件employee.csv)共拥有4个特征,分别为就业人员、第一产业就业人员、第二产业就业人员、第三产业就业人员。根据3个产业就业人员的数量绘制散点图和折线图。根据各个特征随着时间推移发生的变化情况,可以分析出未来3个产业就业人员的变化趋势。绘制3个产业就业人员数据的饼图、柱形图和箱线图。通过柱形图可以对比分析各产业就业人员数量,通过饼图可以发现各产业就业人员的变化,绘制每个特征的箱线图则可以发现不同特征增长或减少的速率变化。

二、实验任务和要求

1)使用pandas库读取3个产业就业人员数据。

2)绘制2000—2019年各产业就业人员散点图。

3)绘制2000-—2019年各产业就业人员折线图。

4)绘制2019年各产业就业人员饼图。

5)绘制2019年各产业就业人员柱形图。

6)绘制2000—2019年各产业就业人员年末总人数箱线图。

三、绘图结果与程序代码

1、employee.csv文件

指标就业人员(万人)第一产业就业人员(万人)第二产业就业人员(万人)第三产业就业人员(万人)
2000年7208536042.516219.119823.4
2001年7279736398.516233.720164.8
2002年732803664015681.920958.1
2003年7373636204.41592721604.6
2004年7426434829.816709.422724.8
2005年7464733441.91776623439.2
2006年7497831940.618894.524142.9
2007年75321307312018624404
2008年7556429923.320553.425087.2
2009年7582828890.521080.225857.3
2010年7610527930.521842.126332.3
2011年76420265942254427282
2012年76704257732324127690
2013年76977241712317029636
2014年77253227902309931364
2015年77451219192269332839
2016年77603214962235033757
2017年77640209442182434872
2018年77586202582139035938
2019年7747119445.221304.536721.3

2、绘图结果

  • 散点图

image-20230415141514764

  • 折线图

image-20230415141539402

  • 饼图

image-20230415141553786

  • 柱形图

image-20230415141609346

  • 箱线图

image-20230415141632419

3、代码

import pandas as pd
import matplotlib.pyplot as plt

# 何壮壮 20302211009

# 读取数据
data = pd.read_csv('employee.csv', encoding='utf-8')

# 绘制2000-2019个产业就业人员散点图
# 解决标签中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 调整画布尺寸
plt.figure(figsize=(12, 5))
# 第一产业就业人员(万人)
plt.scatter(data[data.columns[0]], data[data.columns[2]], color='red', label='第一产业')
# 第二产业就业人员(万人)
plt.scatter(data[data.columns[0]], data[data.columns[3]], color='blue', label='第二产业')
# # 第三产业就业人员(万人)
plt.scatter(data[data.columns[0]], data[data.columns[4]], color='black', label='第三产业')
# 设置x轴标签
plt.xlabel('年份')
# 设置y轴标签
plt.ylabel('就业人数(百万)')
# 显示图例
plt.legend()
plt.title('2000-2019个产业就业人员散点图')
# 显示散点图
plt.show()


# 绘制2000-2019个产业就业人员折线图
# 调整画布尺寸
plt.figure(figsize=(12, 5))
# 第一产业就业人员(万人)
plt.plot(data[data.columns[0]], data[data.columns[2]], color='r', label='第一产业')
# 第二产业就业人员(万人)
plt.plot(data[data.columns[0]], data[data.columns[3]], color='b', label='第二产业')
# 第三产业就业人员(万人)
plt.plot(data[data.columns[0]], data[data.columns[4]], color='k', label='第三产业')
# 设置x轴标签
plt.xlabel('年份')
# 设置y轴标签
plt.ylabel('就业人数(百万)')
# 显示图例
plt.legend()
# 显示标题
plt.title('2000-2019个产业就业人员折线图')
# 显示折线图
plt.show()


# 绘制2019年个产业就业人员饼图
# [-1][2:] 表示最后一行数据(即2019年)的第一、二、三产业数据
plt.pie(data.values[-1][2:], labels=['第一产业', '第二产业', '第三产业'], autopct="%1.1f%%", startangle=90)
# 显示标题
plt.title('2019年各产业就业人员饼图')
# 显示饼图
plt.show()


# 绘制2019年个产业就业人员柱形图
# 调整画布尺寸
plt.figure(figsize=(12, 5))
# [-1][2:] 表示最后一行数据(即2019年)的第一、二、三产业数据
plt.bar(data.columns[2:], data.values[-1][2:])
# 在柱子顶部显示数值
for a, b in zip(data.columns[2:], data.values[-1][2:]):
    plt.text(a, b, b)
# 显示标题
plt.title('2019年各产业就业人员柱形图')
# 显示饼图
plt.show()


# 绘制2000—2019年各产业就业人员年末总人数箱线图
plt.boxplot([data[data.columns[2]], data[data.columns[3]], data[data.columns[4]]], labels=data.columns[2:])
# 显示标题
plt.title("2000—2019年各产业就业人员年末总人数箱线图")
# 显示图表
plt.show()

本文仅供学习参考!

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

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

相关文章

Vue3自定义指令之前端水印功能实现

一、前置知识 — Vue 中的自定义指令 先来说说 vue2和vue3中自定义全局指令的区别 相同点:指令的应用场景,原理是一致的; 不同点:生命周期钩子函数名,指令定义的格式不一样。 vue2中自定义全局指令: 定义…

实时翻译器-实时自动翻译器

自动翻译器——让语言不再是障碍。 在当今全球化的背景下,语言已不再是跨文化交流的障碍。而自动翻译技术作为突破语言壁垒的有效手段,越来越受到关注和需求。我们的自动翻译器就是一个高效、准确的翻译工具,它能够根据用户输入的内容自动识…

mysql知识点看这一篇就够了!

存储引擎 InnoDB InnoDB 是 MySQL 默认的事务型存储引擎,只要在需要它不支持的特性时,才考虑使用其他存储引擎。 InnoDB 采用 MVCC 来支持高并发,并且实现了四个标准隔离级别(未提交读、提交读、可重复读、可串行化)。其默认级别时可重复读…

Springboot项目怎么设计业务操作日志功能?

目录 前言 需求描述与分析 系统日志 操作日志 设计思路 Spring AOP Filter和HandlerInterceptor 过滤器 拦截器 SpringAOP、过滤器、拦截器对比 实现方案 环境配置 依赖配置 表结构设计 代码实现 测试 调试方法 验证结果 总结 前言 很久以前都想写这篇文章…

[ 应急响应基础篇 ] Windows系统隐藏账户详解(Windows留后门账号)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

Spring Web MVC DispatcherServlet详解—官方原版

一、概述 Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring框架中。正式名称“SpringWebMVC”来自其源模块(Spring-webmvc)的名称,但它更常见的名称是“SpringMVC”。 与Spring Web MVC并行&#xff0c…

【AIGC】GitHub Copilot 免费注册及在 PyCharm 中的安装使用

欢迎关注【youcans的 AIGC 学习笔记】原创作品 《GitHub Copilot 免费注册及在 VS Code 中的安装使用》 《GitHub Copilot 免费注册及在 PyCharm 中的安装使用》 GitHub Copilot 免费注册及在 PyCharm 中的安装使用1. GitHub Copilot 功能介绍2. 用户注册与申请2.1 个人订阅 Gi…

经典算法50例-无敌五十剑-算法五十重天

这里写目录标题1.汉诺塔2.费式数列3.巴斯卡三角形4.三色棋5.老鼠走迷官(一)6.老鼠走迷官(二)7.骑士走棋盘8.八皇后9.八枚银币10.生命游戏11.字串核对12.双色、三色河内塔13.背包问题14.蒙地卡罗法求 PI15.Eratosthenes筛选求质数1…

LeetCode——遍历序列构造二叉树

105从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,2…

3.12、生成者消费者模型

3.12、生成者消费者模型1.生产者消费者模型介绍2.一个没有实现线程同步的生产者消费者模型1.生产者消费者模型介绍 生产者消费者模型是一种多线程的设计模式,用于解决生产者和消费者之间的同步和协作问题。 在生产者消费者模型中,生产者和消费者通过共享…

代码随想录算法训练营第五十五天 | 392.判断子序列、115.不同的子序列

打卡第55天。 今日任务 392.判断子序列115.不同的子序列 392.判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。&#xf…

哪个品牌的蓝牙耳机便宜耐用?内行公认四大便宜耐用的蓝牙耳机

蓝牙耳机发展至今,品牌众多,且各品牌旗下拥有无数不同价格的耳机,各自的主打优势又不一样。那么,哪个品牌的蓝牙耳机便宜耐用?下面,我来给大家推荐四款便宜耐用的蓝牙耳机,一起来看看吧。 一、…

【数据结构】第九站:树和二叉树

目录 一、树的概念及结构 1.树的概念 2.树的相关概念 3.树的表示 二、二叉树的概念及结构 1.概念 2.特殊的二叉树 3.二叉树的性质 三、二叉树的存储结构 一、树的概念及结构 1.树的概念 树是一种非线性的数据结构,它是由n(n>0)个…

Redis缓冲区溢出及解决方案

缓冲区(buffer),是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。 一、Redis缓冲区溢出影响 在Redis中,主要有三个场景用到了…

数据资产目录建设方法

以信息技术为核心的第四次经济革命使得全球经济进入到数字化转型时期,对于今天的企业来说, 数字化转型已经不是可做可不做的自选题, 而是必须付诸行动的必选题。 从数字化转型的实践经验中我们可以得知,企业的数据资产是企业数字…

Flink CDC 在京东的探索与实践

摘要:本文整理自京东资深技术专家韩飞,在 Flink Forward Asia 2022 数据集成专场的分享。本篇内容主要分为四个部分: 京东自研 CDC 介绍京东场景的 Flink CDC 优化业务案例未来规划点击查看直播回放和演讲 PPT 一、京东自研 CDC 介绍 京东自研…

pdf转换成word怎么转换?这个方法一学就会!

在日常工作和生活中,我们常常会遇到需要将PDF文件转换为Word文档的情况。这个过程有时候会令人感到麻烦和心累,需要特殊操作才能完成。但实际上,通过选择正确的方法,文件格式转换只需要几秒钟的时间。如果你感到不可思议&#xff…

ChatGPT-4 来了,附国内体验地址

chatgpt4是什么? 2022年12月,openAI发布了chatgpt模型,这个属于GPT-3.5系列模型中的一个。上个月,openAI又发布了超级升级版的GPT-4模型。所以,你想问的chatgpt4模型是指代GPT-4模型。 相比前一个版本,它…

智能硬件蓝牙配网方案概要

智能硬件开发系列 Google Protobuf 实践使用开发智能硬件蓝牙配网方案概要JNI开发必学C基础JNI开发必学C使用实践Android Studio 4.0.NDK项目开发详细教学Android NDK与JNI的区别有何不同?Android Studio 4.0.NDK .so库生成打包Android JNI的深度进阶学习Android S…

【Leetcode】题库-爽刷简单题(1)

目录 写在前面: 题目:67. 二进制求和 - 力扣(Leetcode) 解题思路: 代码: 过过过过过过啦!!!! 题目:83. 删除排序链表中的重复元素 - 力扣&a…