Moreano 2024-02-16 21:15 采纳率: 64.7%
浏览 10
已结题

代码不会写(有关python中的pandas matplotlib的包)

python中的三个包numpy matplotlib pandas三个包不会使用恳求各位教教我代码写,柱形图一直创建失败,谢谢大家!

img

img

img

img

img

  • 写回答

8条回答 默认 最新

  • 知识就是冻梨 2024-02-16 21:17
    关注

    sjkakalal 晚上好🌙🌙🌙
    本答案参考通义千问

    要解决您提出的Python中pandas和matplotlib包使用问题,我们将分步骤为您演示如何绘制所需的柱状图和饼图。以下是针对各个任务的具体解决方案:

    实验一:绘制男女科目平均成绩柱状图

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    
    # 数据准备
    data = {'学科': ['语文', '数学', '英语', '物理', '化学', '生物'],
            '男': [85.5, 91, 72, 59, 66, 55],
            '女': [94, 82, 89.5, 62, 49, 53]}
    
    df = pd.DataFrame(data)
    
    # 绘制普通柱状图
    plt.figure(figsize=(10, 6))
    plt.bar(df['学科'], df['男'], label='男生', color='#8B0000')
    plt.bar(df['学科'], df['女'], bottom=df['男'], label='女生', color='#006374')
    
    plt.xlabel('学科')
    plt.ylabel('平均成绩')
    plt.title('男女科目平均成绩柱状图')
    plt.legend()
    plt.show()
    
    # 绘制堆积柱状图
    plt.figure(figsize=(10, 6))
    plt.stackplot(df['学科'], df['男'], df['女'])
    plt.xlabel('学科')
    plt.ylabel('平均成绩')
    plt.title('男女科目平均成绩堆积柱状图')
    plt.xticks(rotation=0) # 旋转x轴标签以适应内容
    plt.show()
    

    实验二:绘制拼多多子类目销售额饼图

    import pandas as pd
    import matplotlib.pyplot as plt
    
    # 数据准备
    sales_data = {'子类目': ['童装', '奶粉辅食', '孕妈专区', '洗护喂养', '宝宝尿裤', '春夏新品', '童车童床', '玩具文娱', '童鞋'],
                  '销售额(亿)': [29665, 3135.4, 4292.4, 5240.9, 5543.4, 5633.8, 6414.5, 9308.1, 10353]}
    
    df_sales = pd.DataFrame(sales_data)
    
    # 绘制饼图
    plt.figure(figsize=(10, 6))
    plt.pie(df_sales['销售额(亿)'], labels=df_sales['子类目'], autopct='%1.1f%%', startangle=140, explode=(0, 0.1, 0, 0, 0, 0, 0, 0.1, 0), wedgeprops=dict(width=0.2))
    plt.title('拼多多子类目销售额占比饼图')
    plt.show()
    

    实验三:绘制2018/2019年快递业务量折线图

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    from matplotlib import cm
    plt.style.use('fivethirtyeight')  # 设置主题风格
    
    # 数据准备
    months = list(range(1, 13))
    year_2018 = [39, 20, 40, 38, 42, 43, 7, 41, 45, 48, 52, 50]
    year_2019 = [45, 28, 48, 49, 50, 51, 50, 50, 51, 52, 70, 65]
    
    # 创建DataFrame
    data = {'月份': months,
            '2018年业务量(亿件)': year_2018,
            '2019年业务量(亿件)': year_2019}
    df_business = pd.DataFrame(data)
    
    # 绘制折线图
    fig, ax = plt.subplots(figsize=(10, 6))
    
    # 绘制2018年折线
    ax.plot(months, year_2018, color='#8B0000', marker='^', linestyle='--', linewidth=1.5, label='2018年')
    
    # 绘制2019年折线
    ax.plot(months, year_2019, color='#006374', marker='D', linestyle='-', linewidth=1.5, label='2019年')
    
    ax.set_xlabel('月份')
    ax.set_ylabel('业务量 (亿件)')
    ax.set_title('2018/2019年快递业务量折线图')
    ax.yaxis.set_label_text("业务量 (亿件)", fontsize=12)  # 添加y轴标签文本
    ax.tick_params(labelsize=10)  # 调整刻度标签字体大小
    ax.grid(True, linestyle='--', linewidth=0.5)  # 添加网格线
    ax.legend(title="年份", loc='upper left', prop={'size': 12})  # 图例标题与字体大小
    
    plt.show()
    

    上述代码涵盖了根据您提供的要求绘制所需图形的所有关键部分。您可以将这些代码复制到您的Python环境中运行它们,并生成对应的柱状图、堆积柱状图、饼图以及折线图。如果遇到任何问题,请随时向我们提问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 2月24日
  • 已采纳回答 2月16日
  • 创建了问题 2月16日