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

【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年 72085 36042.5 16219.1 19823.4
2001年 72797 36398.5 16233.7 20164.8
2002年 73280 36640 15681.9 20958.1
2003年 73736 36204.4 15927 21604.6
2004年 74264 34829.8 16709.4 22724.8
2005年 74647 33441.9 17766 23439.2
2006年 74978 31940.6 18894.5 24142.9
2007年 75321 30731 20186 24404
2008年 75564 29923.3 20553.4 25087.2
2009年 75828 28890.5 21080.2 25857.3
2010年 76105 27930.5 21842.1 26332.3
2011年 76420 26594 22544 27282
2012年 76704 25773 23241 27690
2013年 76977 24171 23170 29636
2014年 77253 22790 23099 31364
2015年 77451 21919 22693 32839
2016年 77603 21496 22350 33757
2017年 77640 20944 21824 34872
2018年 77586 20258 21390 35938
2019年 77471 19445.2 21304.5 36721.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()

本文仅供学习参考!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>