Python数据可视化实战第三章matplotilb实训代码

实训1 分析个产业就业人员数据特征间的关系

1、训练要点

(1)掌握散点图的绘制方法。
(2)掌握折线图的绘制方法。
(3)掌握饼图的绘制方法。
(4)掌握柱形图的绘制方法。
(5)掌握箱线图的绘制方法。

2、需求说明

3、实现步骤

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

import pandas as pd  
  
# 读取CSV文件  
df = pd.read_csv('C:/各章PPT课件及数据源-Python数据可视化实战/2-各章实训数据源/第3章/data/employee.csv')  
  
# 显示前几行数据,以确保数据已正确读取  
# print(df.head())
print(df)

 

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

import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt  
  
# 设置中文字体  
plt.rcParams['font.sans-serif'] = ['SimHei']  # 注意这里是列表格式  
plt.rcParams['axes.unicode_minus'] = False   
  
# 读取CSV文件  
data = pd.read_csv('C:/各章PPT课件及数据源-Python数据可视化实战/2-各章实训数据源/第3章/data/employee.csv', low_memory=False)  
  
# 提取列名  
name = data.columns  
  
# 提取数据值  
values = data.values  
  
# 设置画布大小  
plt.figure(figsize=(9, 7))  
  
# 绘制散点图  
# 假设第一列是年份,第二列、第三列和第四列分别是三个产业的就业人员数  
plt.scatter(values[:, 0], values[:, 2], marker='o', c='red', label='第一产业就业人员(万人)')  
plt.scatter(values[:, 0], values[:, 3], marker='D', c='blue', label='第二产业就业人员(万人)')  
plt.scatter(values[:, 0], values[:, 4], marker='v', c='black', label='第三产业就业人员(万人)')  
  
# 设置图例  
plt.legend(loc='best')  # 使用loc='best'来自动选择图例的最佳位置  
  
# 添加x轴和y轴标签  
plt.xlabel('年份')  
plt.ylabel('就业人员数(万人)')  # 修改y轴标签,使其更清晰  
  
# 设置x轴刻度  
# 注意:range(0, 20) 可能不适用于所有年份,你需要根据实际年份数据来设置  
# 如果年份是连续的整数,可以这样做,否则需要按照实际的年份数据来设定  
plt.xticks(range(0, 20), values[range(0, 20), 0], rotation=45)  
  
# 添加图表标题  
plt.title('2000-2019年各产业就业人员散点图')  
  
# 保存图表为图片  
plt.savefig('C:/各章PPT课件及数据源-Python数据可视化实战/2-各章实训数据源/第3章/data/2000-2019年各产业就业人员散点图.png')  
  
# 显示图表  
plt.show()

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

import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt  
  
# 假设employee.csv文件中的数据已经按照年份和其他产业就业人员数排列好  
data = pd.read_csv('C:/各章PPT课件及数据源-Python数据可视化实战/2-各章实训数据源/第3章/data/employee.csv', low_memory=False)  
  
# 提取数据值  
values = data.values  
  
# 设置画布大小  
plt.figure(figsize=(9, 7))  
  
# 绘制第三产业就业人员的折线图  
plt.plot(values[:, 0], values[:, 2], color='r', linestyle='--', label='第一产业就业人员(万人)')  
plt.plot(values[:, 0], values[:, 3], color='b', linestyle='--', label='第二产业就业人员(万人)') 
plt.plot(values[:, 0], values[:, 4], color='y', linestyle='--', label='第三产业就业人员(万人)')  
# 添加x轴和y轴标签  
plt.xlabel('年份')  
plt.ylabel('就业人员(万人)')  
  
# 设置x轴刻度  
# 注意:这里的range(0, 20)需要根据实际年份的数量进行调整  
# 确保values[range(0, 20), 0]不会超出values数组的范围  
plt.xticks(range(0, 20), values[range(0, 20), 0], rotation=45)  
  
# 添加图表标题  
plt.title('2000-2019年各产业就业人员折线图')  
  
# 添加图例,注意这里的位置应该放在plt.show()之前  
plt.legend(loc='best')  
  
# 保存图表为图片  
plt.savefig('C:/各章PPT课件及数据源-Python数据可视化实战/2-各章实训数据源/第3章/data/2000-2019年各产业就业人员折线图.png')  
  
# 显示图表  
plt.show()

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

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文字体
plt.rcParams['axes.unicode_minus'] = False
data = pd.read_csv('C:/各章PPT课件及数据源-Python数据可视化实战/2-各章实训数据源/第3章/data/employee.csv')
bname = data.columns   # 提取其中的columns字段,作为数据标签
values = data.values   # 提
label = ['第一产业就业人员(万人)','第二产业就业人员(万人)','第三业就业人员(万人)']
plt.figure(figsize=(6,6))
explode = [0.01,0.01,0.01]
plt.pie(values[-1,2:5],explode=explode,labels=label,autopct='%1.1f%%')
plt.title('2019年各产业就业人员饼图')
plt.savefig('C:/各章PPT课件及数据源-Python数据可视化实战/2-各章实训数据源/第3章/data/2019年各产业就业人员饼图.png')
plt.show()

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

label = ['第一产业就业人员(万人)','第二产业就业人员(万人)','第三业就业人员(万人)']  # 添加刻度标签
plt.figure(figsize=(9, 7), dpi=60)
plt.bar(range(3),values[-1, 2:5], width=0.4)
plt.xlabel('年龄段')  # 添加x轴标签
plt.ylabel('年末总人口(万人)')  # 添加y轴标签
plt.xticks(range(3), label)
plt.title('2019年各产业就业人员柱形图')  # 添加图表标题
plt.savefig('C:/各章PPT课件及数据源-Python数据可视化实战/2-各章实训数据源/第3章/data/2019年各产业就业人员柱形图.png')
plt.show()

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

label = ['第一产业就业人员(万人)','第二产业就业人员(万人)','第三业就业人员(万人)']  # 添加刻度标签
gdp = (list(values[:, 2]), list(values[:, 3]), list(values[:, 4]))
plt.figure(figsize=(7, 6))
plt.boxplot(gdp, notch=True, labels=label, meanline=True, showmeans=True)  # 加入showmeans=True,对比数据源看效果
plt.title('2019年各产业就业人员箱线图')  # 添加图表标题
plt.savefig('C:/各章PPT课件及数据源-Python数据可视化实战/2-各章实训数据源/第3章/data/2019年各产业就业人员箱线图.png')
plt.show()

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徙格~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值