m0_74811739 2023-12-18 12:41 采纳率: 0%
浏览 3

matplotlib条形图

条形图:
以下数据是三类学校(普通本科、中等职业教育、普通高中)在2014-2018(包含2018)的报名人数,用DataFrame构建。
把年份当做x轴,报名人数当做y轴的值。
绘制分组条形图,同一个年份的放在一个组。
图例横向排列(提示:用legend的ncol参数,ncol表示的是把图例分成多少列显示)。
把报名人数在图上绘制出来。
数据:

data = {
"普通本科":[721,738,749,761,791],
"中等职业教育": [620,601,593,582,557],
"普通高中": [797,797,803,800,793]
}
代码是什么

  • 写回答

1条回答 默认 最新

  • 小果运维 2023-12-18 13:49
    关注
    
    import pandas as pd
    import matplotlib.pyplot as plt
    
    # 数据
    data = {
        "普通本科": [721, 738, 749, 761, 791],
        "中等职业教育": [620, 601, 593, 582, 557],
        "普通高中": [797, 797, 803, 800, 793]
    }
    
    # 将数据构建为DataFrame
    df = pd.DataFrame(data, index=[2014, 2015, 2016, 2017, 2018])
    
    # 绘制分组条形图
    fig, ax = plt.subplots()
    df.plot(kind='bar', ax=ax)
    
    # 在条形图上标注数值
    for i, v in enumerate(df.values.flatten()):
        ax.text(i, v + 5, str(v), ha='center')
    
    # 设置图例横向排列,显示报名人数
    plt.legend(title='报名人数', bbox_to_anchor=(1.05, 1), loc='upper left', ncol=1)
    
    # 设置图表标题和坐标轴标签
    plt.title('2014-2018年不同类型学校报名人数')
    plt.xlabel('年份')
    plt.ylabel('报名人数')
    
    # 显示图表
    plt.tight_layout()
    plt.show()
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月18日

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大