This commit is contained in:
2509165008
2026-06-25 16:01:33 +08:00
parent 10f33afbc4
commit a581258d91
27 changed files with 421 additions and 167 deletions

View File

@@ -1 +0,0 @@
# 此目录用于存放学生提交的文件,请勿删除

View File

@@ -1 +0,0 @@
# 此目录用于存放学生提交的文件,请勿删除

33
q4/q4_1/q4_1.py Normal file
View File

@@ -0,0 +1,33 @@
import matplotlib.pyplot as plt
import json
with open('movie.json', 'r', encoding='utf-8') as f:
data=json.load(f)
# print(data)
genre_shu={}
for g in data:
ge=g["genre"]
if ge in genre_shu:
genre_shu[ge]+=1
else:
genre_shu[ge]=1
# print("各类型的电影数量",genre_shu)
genre_lei=list(genre_shu.keys())
genre_liang=list(genre_shu.values())
print(genre_liang)
plt.figure(figsize=(14, 12))
plt.bar(genre_lei, genre_liang, # 类别, 数值
width=0.6) # 柱子宽度0~1之间
# 标题和标签
plt.title('类型电影数量分布', fontsize=14)
plt.xlabel('类型名称', fontsize=12)
plt.ylabel('电影数量', fontsize=12)
plt.show()

BIN
q4/q4_1/q4_1_bar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1 +0,0 @@
# 此目录用于存放学生提交的文件,请勿删除

24
q4/q4_2/q4_2.py Normal file
View File

@@ -0,0 +1,24 @@
import matplotlib.pyplot as plt
import json
rating=[]
duration=[]
with open('movie.json', 'r', encoding='utf-8') as f:
data=json.load(f)
# print(data)
for i in data:
rating.append(i["rating"])
duration.append(i["duration"])
plt.figure(figsize=(12, 8))
plt.scatter(duration, rating,
c='red',
s=80, # 点的大小
alpha=0.6, # 透明度
edgecolors='white') # 点的边框
plt.title('时长与评分关系散点图', fontsize=14)
plt.xlabel('时长', fontsize=12)
plt.ylabel('评分', fontsize=12)
plt.grid(True, linestyle='--', alpha=0.5)
plt.show()

BIN
q4/q4_2/q4_2_scatter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -1 +0,0 @@
# 此目录用于存放学生提交的文件,请勿删除

19
q4/q4_3a/q4_3a.py Normal file
View File

@@ -0,0 +1,19 @@
import matplotlib.pyplot as plt
import json
rating=[]
with open('movie.json', 'r', encoding='utf-8') as f:
data=json.load(f)
# print(data)
for i in data:
rating.append(i["rating"])
plt.figure(figsize=(12,8))
plt.hist(rating, # 数据
bins=3, # 分成几个柱子
color='#3498DB', # 颜色
edgecolor='white') # 柱子边框颜色
plt.title('评分分布', fontsize=14)
plt.xlabel('评分', fontsize=13)
plt.grid(True, linestyle='--', alpha=0.5, axis='y')
plt.show()

BIN
q4/q4_3a/q4_3a_hist.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1 +0,0 @@
# 此目录用于存放学生提交的文件,请勿删除

19
q4/q4_3b/q4_3b.py Normal file
View File

@@ -0,0 +1,19 @@
import matplotlib.pyplot as plt
import json
duration=[]
with open('movie.json', 'r', encoding='utf-8') as f:
data=json.load(f)
# print(data)
for i in data:
duration.append(i["duration"])
plt.figure(figsize=(12,8))
plt.hist( duration, # 数据
bins=3, # 分成几个柱子
color='#3498DB', # 颜色
edgecolor='white') # 柱子边框颜色
plt.title('时长分布', fontsize=14)
plt.xlabel('时长(分钟)', fontsize=13)
plt.grid(True, linestyle='--', alpha=0.5, axis='y')
plt.show()

BIN
q4/q4_3b/q4_3b_hist.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB