mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
17 字
1 分钟
实验代码
2026-04-15

2-3 数据可视化实验#

第3关#

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
import os
import numpy as np
########### Begin ############
# 1. 定义y轴数据列表(根据表格填入8位老师的平均分)
y = [84.12, 81.83, 79.89, 78.19, 76.83, 75.09, 74.58, 73.71]
# 2. 创建新的绘图画布(推荐尺寸8x6,适配条形图)
plt.figure()
# 3. 生成x轴的位置索引(从1开始,长度与y一致)
sj = np.arange(1, len(y) + 1)
# 4. 绘制条形图:宽度0.5、颜色蓝色
plt.bar(sj, y, width=0.5, color='blue')
# 5. 定义x轴标签文本列表(8位老师姓名,严格对应表格顺序)
x_labels = ["何老师", "张老师", "蒋老师", "黄老师", "王老师", "李老师", "唐老师", "刘老师"]
# 6. 替换x轴刻度为老师姓名
plt.xticks(sj, x_labels)
# 7. 设置图表标题为“平均成绩”
plt.title("平均成绩")
# 8. 自动创建image4文件夹(防止路径不存在报错)
os.makedirs("image4", exist_ok=True)
# 9. 保存图片到image4/tzt.jpg
plt.savefig("image4/tzt.jpg")
plt.close()
########### End ############

第4关#

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.size']=8
plt.figure(figsize=(10,10))
import os
########### Begin ############
# 导入pandas库
import pandas as pd
# 读取数据,指定年份为字符串
df = pd.read_csv("test/gdp.csv", dtype={"年份": str})
# 按省份分组求和GDP
sj = df.groupby("省份")["GDP"].sum()
# 绘制饼图:仅传x、labels、autopct,其余参数全部使用默认值
# 严格遵循你提供的pie函数格式
plt.pie(sj, labels=sj.index, autopct='%.1f%%')
# 设置饼图标题
plt.title("全国各地GDP饼图")
# 保存图片
os.makedirs("image7", exist_ok=True)
plt.savefig("image7/gdp7.jpg")
plt.close()
########### End ############

第5关#

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.size']='8'
plt.figure(figsize=(10,10))
########### Begin ############
# 导入pandas库,用于实现数据读取和数据筛选处理
import pandas as pd
# 读取test目录下的gdp.csv文件,指定"年份"列的数据类型为字符串
data=pd.read_csv("test/gdp.csv",dtype={"年份":str})
# 定义子图索引变量i,用于指定后续子图的摆放位置,初始值为1
i=1
# 循环遍历2010到2013年(range左闭右开,2014不包含,即遍历2010、2011、2012、2013)
for y in range(2010,2014):
# 筛选出数据中"年份"列等于当前循环年份的行,仅保留"省份"和"GDP"两列数据
sj=data.loc[data["年份"]==str(y),["省份","GDP"]]
# 创建子图,设置画布为2行2列的布局,当前绘制第i个子图
plt.subplot(2,2,i)
# 绘制当前年份的饼图,饼图数据为该年份各省份的GDP,标签为对应省份名称
plt.pie(sj["GDP"],labels=sj["省份"])
# 设置当前子图的标题,显示为“当前年份+年”的格式,明确子图对应的年份
plt.title(str(y)+"年")
# 子图索引自增1,为下一次循环绘制下一个子图做准备
i=i+1
# 将绘制完成的2行2列子图(4个年份的GDP饼图)保存到image8目录下,文件名为gdp8.jpg
plt.savefig("image8/gdp8.jpg")
########### End ############
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

实验代码
https://mizukiweb1.pages.dev/posts/实验代码/
作者
sre
发布于
2026-04-15
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00