Update README.md

main
p2apfqmgs 3 months ago
parent 6f011665a9
commit 434ef694a8

@ -55,61 +55,43 @@ PPT汇报具体要求什么的4.11课上问问,同时也可以尝试能不能
现在急需将其完善,可以在功能上进一步简化,而图形界面能看即可,确保能交差
如果可以延期就再美化,不能就能交差即可
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
movies_df_new = pd.read_csv("/data/bigfiles/movie_metadata_new.csv")
################begin########################
#票房与预算关系
# 筛选2014年及之后的数据
df_2014_2016 = movies_df_new[movies_df_new['title_year'] >= 2014]
# 按预算升序排序
df_sorted = df_2014_2016.sort_values('budget')
# 绘制散点图
plt.figure(figsize=(10, 10))
plt.scatter(df_sorted['movie_title'], df_sorted['budget'], color='red', s=20, label='budget')
plt.scatter(df_sorted['movie_title'], df_sorted['gross'], color='green', s=20, label='gross')
plt.xticks([])
# 设置图表属性
plt.title('电影票房与预算的关系', fontsize=20)
plt.xlabel('movie_title')
plt.ylabel('budget/gross')
# 旋转x轴标签
plt.legend()
#################end#########################
plt.savefig("step5/result/pic1.png")
plt.close()
################begin########################
#数据归一化处理
# 筛选2015-2016年数据不包含2014
df_2015_2016 = movies_df_new[(movies_df_new['title_year'] > 2014) & (movies_df_new['title_year'] <= 2016)]
# 归一化处理
df_2015_2016['cast_total_likes_norm'] = df_2015_2016['cast_total_likes'] / df_2015_2016['cast_total_likes'].max()
df_2015_2016['gross_norm'] = df_2015_2016['gross'] / df_2015_2016['gross'].max()
# 演员的获赞总数与票房的关系
plt.figure(figsize=(10, 10))
plt.scatter(df_2015_2016['movie_title'], df_2015_2016['cast_total_likes_norm'], color='red', s=20, label='cast_total_likes')
plt.scatter(df_2015_2016['movie_title'], df_2015_2016['gross_norm'], color='green', s=20, label='gross')
plt.xticks([])
# 设置图表属性
plt.title('演员的获赞总数与票房的关系', fontsize=10)
plt.xlabel('movie_title')
plt.ylabel('cast_total_likes/gross')
plt.legend()
# 旋转x轴标签
#################end#########################
plt.savefig("step5/result/pic2.png")
plt.close()
def start(self):
"""处理查询按钮点击事件"""
isbn = self.entry00.get().strip()
if not isbn:
self.result_text.config(state=tk.NORMAL)
self.result_text.delete(1.0, tk.END)
self.result_text.insert(tk.END, "请输入ISBN编号")
self.result_text.config(state=tk.DISABLED)
return
# 禁用按钮防止重复点击
self.query_button.config(state=tk.DISABLED, text="查询中...")
self.root.update() # 强制更新界面
try:
result = query_isbn(isbn)
self.result_text.config(state=tk.NORMAL)
self.result_text.delete(1.0, tk.END)
if isinstance(result, dict):
formatted_result = "\n".join(f"{k}: {v}" for k, v in result.items())
self.result_text.insert(tk.END, formatted_result)
elif isinstance(result, list):
# 修改为与模糊搜索相同的输出格式
formatted_results = "\n\n".join(
"\n".join(f"{k}: {v}" for k, v in book.items())
for book in result
)
self.result_text.insert(tk.END, formatted_results)
else:
self.result_text.insert(tk.END, result)
self.result_text.config(state=tk.DISABLED)
except Exception as e:
self.result_text.config(state=tk.NORMAL)
self.result_text.delete(1.0, tk.END)
self.result_text.insert(tk.END, f"查询出错: {str(e)}")
self.result_text.config(state=tk.DISABLED)
finally:
# 恢复按钮状态
self.query_button.config(state=tk.NORMAL, text="查询")
Loading…
Cancel
Save