持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情
总计:今天是十月更文计划第八天,第十八篇
今天开始看题实战:
题目一:
学生毕业证和学位证只能体现一种学习经历或者证明达到该学习阶段的最低要求,并不能体现学生的综合能力以及擅长的学科与领域,所以大部分单位在招聘时往往还需要借助于成绩单进行综合考察。但单独的表格式成绩单不是很直观,并且存在造假的可能。在证书上列出学生所有课程的成绩不太现实,但是可以考虑把每个学生的专业核心课成绩绘制成雷达图印在学位证书上,这样既可以让用人单位非常直观地了解学生综合能力,也比单独打印的成绩单要权威和正式很多。编写程序,根据某学生的部分专业核心课程和成绩清单绘制雷达图。
代码如下:
import numpy as np
import matplotlib.pyplot as plt
# 某学生的课程与成绩
courses = ['C++', 'Python', '高数', '大学英语', '软件工程',
'组成原理', '数字图像处理', '计算机图形学']
scores = [80, 95, 78, 85, 45, 65, 80, 60]
dataLength = len(scores) # 数据长度
# angles数组把圆周等分为dataLength份,等差数组
angles = np.linspace(0, # 数组第一个数据
2*np.pi, # 数组最后一个数据
dataLength, # 数组中数据数量
endpoint=False) # 不包含终点
scores.append(scores[0]) #追加一个重复的数据
angles = np.append(angles, angles[0]) # 闭合,追加第0个数据
# 绘制雷达图
plt.polar(angles, # 设置角度
scores, # 设置各角度上的数据,就是半径
'rv--', # 设置颜色、线型和端点符号
linewidth=2) # 设置线宽
# 设置角度网格标签
plt.thetagrids(angles*180/np.pi, #在这些角度的位置上
courses, #设置课程名当做标签
fontproperties='simhei') #设置字体
# 填充雷达图内部
plt.fill(angles,
scores,
facecolor='r',
alpha=0.3) #透明度
plt.show()
输出的结果如下:
题目二:
已知学校附近某烧烤店2019年每个月份的营业额如表所示。编写程序绘制折线图对该烧烤店全年营业额进行可视化,使用红色点划线连接每个月份的数据,并在每个月份的数据处使用三角形标记。
代码如下:
import matplotlib.pyplot as plt
#月份和每月营业额
month = list(range(1,13))
money = [5.2, 2.7, 5.8, 5.7, 7.3, 9.2,
18.7, 15.6, 20.5, 18.0, 7.8, 6.9]
# plot()函数的第一个参数表示横坐标数据,第二个参数表示纵坐标数据
# 第三个参数表示颜色、线型和标记样式
# 颜色常用的值有(r/g/b/c/m/y/k/w)
# 线型常用的值有(-/--/:/-.)
# 标记样式常用的值有(./,/o/v/^/s/*/D/d/x/</>/h/H/1/2/3/4/_/|)
plt.plot(month, money, 'r-.v') #红色,点划线,“点”处用倒三角
plt.xlabel('月份', fontproperties='simhei', fontsize=14)
plt.ylabel('营业额(万元)', fontproperties='simhei', fontsize=14)
plt.title('烧烤店2019年营业额变化趋势图',
fontproperties='simhei', fontsize=18)
# 紧缩四周空白,扩大绘图区域可用面积
plt.tight_layout()
plt.show()
输出结果为: