:使用“豆瓣电影数据.xlsx"文件,完成1、制作电影数量折线图(以此命名),轴为时间,排除2016年的数据,显示标签标记出最大值信息,将标记的线条颜色设为黑色,线末端使用箭头,导出图像,并对折线图进行分析;
2、绘制 剧情、喜剧、动作 三种类型电影环形图(以此命名),要求空心内部显示三种电影的总记录数(提示:27461),显示电影类型标签及总额百分比,导出图像,不显示说明,选择图例在下;分析环形图数据;
豆瓣电影数据.xlsx"文件
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
1、制作电影数量折线图:import pandas as pd import matplotlib.pyplot as plt # 读取数据 df = pd.read_excel("豆瓣电影数据.xlsx") # 提取年份和数量数据 df['年份'] = df['年代'].apply(lambda x: int(x[:4])) df = df[df['年份'] != 2016] movie_count = df['年份'].value_counts().sort_index() # 绘制折线图 plt.figure(figsize=(10,6)) plt.plot(movie_count.index, movie_count.values, marker='o') plt.title("电影数量折线图") plt.xlabel("时间") plt.ylabel("电影数量") # 标记最大值信息 max_year = movie_count.idxmax() max_count = movie_count.max() plt.annotate(f'Max: ({max_year}, {max_count})', xy=(max_year, max_count), xytext=(max_year+2, max_count+5), arrowprops=dict(facecolor='black', arrowstyle='->')) # 保存图像 plt.savefig("电影数量折线图.png") # 分析折线图 plt.show()2、绘制剧情、喜剧、动作三种类型电影环形图:
import matplotlib.pyplot as plt # 假设总记录为27461 total_records = 27461 movie_genres = ['剧情', '喜剧', '动作'] genre_counts = [df[df['类型'].str.contains(genre)].shape[0] for genre in movie_genres] genre_percentages = [count/total_records*100 for count in genre_counts] # 绘制环形图 plt.figure(figsize=(8,8)) plt.pie(genre_counts, labels=movie_genres, autopct='%1.1f%%') plt.title("剧情、喜剧、动作三种类型电影环形图") plt.legend(loc="lower center") # 显示内部总记录数 plt.text(0, 0, total_records, color='white', ha='center', va='center', fontsize=15) plt.show()对于第一个折线图,可以看出电影数量随时间变化的趋势,分析最大值时间点对应的电影数量高峰,可能是某一年度电影产量较大。第二个环形图中,可以直观地比较剧情、喜剧、动作三种类型电影在总数量中所占比例,帮助观察三种类型电影的相对流行程度。
解决 无用评论 打赏 举报