2501_90141614 2025-01-04 15:04 采纳率: 0%
浏览 11

豆瓣电影数据.xlsx"文件

:使用“豆瓣电影数据.xlsx"文件,完成1、制作电影数量折线图(以此命名),轴为时间,排除2016年的数据,显示标签标记出最大值信息,将标记的线条颜色设为黑色,线末端使用箭头,导出图像,并对折线图进行分析;
2、绘制 剧情、喜剧、动作 三种类型电影环形图(以此命名),要求空心内部显示三种电影的总记录数(提示:27461),显示电影类型标签及总额百分比,导出图像,不显示说明,选择图例在下;分析环形图数据;

  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2025-01-04 15:04
    关注
    让阿豪来帮你解答,本回答参考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()
    

    对于第一个折线图,可以看出电影数量随时间变化的趋势,分析最大值时间点对应的电影数量高峰,可能是某一年度电影产量较大。第二个环形图中,可以直观地比较剧情、喜剧、动作三种类型电影在总数量中所占比例,帮助观察三种类型电影的相对流行程度。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月4日