33 lines
744 B
Python
33 lines
744 B
Python
# q4_2.py
|
|
import json
|
|
import matplotlib.pyplot as plt
|
|
|
|
# 1. 读取文件
|
|
with open("movies.json", "r", encoding="utf-8") as f:
|
|
data = json.load(f)
|
|
|
|
# 2. 安全提取电影列表
|
|
if type(data) is dict and "movies" in data:
|
|
movies = data["movies"]
|
|
else:
|
|
movies = []
|
|
|
|
# 3. 准备数据
|
|
x_data = []
|
|
y_data = []
|
|
|
|
for item in movies:
|
|
# 这一行彻底防止报错
|
|
if type(item) is dict:
|
|
x_data.append(item["duration"])
|
|
y_data.append(item["rating"])
|
|
|
|
# 4. 画图(题目全部要求)
|
|
plt.scatter(x_data, y_data, color="red", alpha=0.6)
|
|
plt.title("时长与评分关系散点图")
|
|
plt.xlabel("时长(分钟)")
|
|
plt.ylabel("评分")
|
|
plt.savefig("q4_2_scatter.png", dpi=150)
|
|
plt.close()
|
|
|
|
print("运行成功!") |