m0_60492570 2021-08-20 10:11 采纳率: 71.4%
浏览 105
已结题

选修课python最后一题,这题不会,请求帮助

北京新源实业有限公司2020年简化利润表如下图:

img

要求
根据DataFrame的数据绘制柱状图,对比实际数与计划数;其中,x轴对应数据为“项目”列,y轴对应数据为“计划”列与“实际”列。

请根据题目要求完成以下代码
注意:只能修改” 修改代码开始“ 及 ”修改代码结束 “ 之间的代码

  引入pandas、表格类型、配置项、主题类型
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
import pandas as pd
data = {'项目':['产品销售利润','其他销售利润','投资净收益','营业外净收支','利润总额'],
            '计划':[962112,38000,70000,-33944,1036168],
            '实际':[1070740,32000,75000,-28514,1149226]}
df = pd.DataFrame(data)
  定义函数
def func():
   修改代码开始   
     数据转换:请将DataFrame转换为Python列表类型
    


     初始化配置
    bar1 = Bar(init_opts=opts.InitOpts(theme=ThemeType.ESSOS))
      添加数据
   


    设置全局配置项
    bar1.set_global_opts(title_opts = opts.TitleOpts(title='计划与目标对比图',pos_left='center'),
                      legend_opts = opts.LegendOpts(pos_left='center',pos_top='5%',orient='vertical'))
    return bar1
bar=func()
 展示数据
bar.render_notebook()

  • 写回答

2条回答 默认 最新

  • yklgogogo 2021-08-20 10:37
    关注
    
    
    ```python
    from pyecharts.charts import Bar
    from pyecharts import options as opts
    from pyecharts.globals import ThemeType
    import pandas as pd
    
    data = {'项目': ['产品销售利润', '其他销售利润', '投资净收益', '营业外净收支', '利润总额'],
            '计划': [962112, 38000, 70000, -33944, 1036168],
            '实际': [1070740, 32000, 75000, -28514, 1149226]}
    df = pd.DataFrame(data)
    
    
    # 定义函数
    def func():
        # 修改代码开始
        # 数据转换:请将DataFrame转换为Python列表类型
        df.values.tolist()
        # 初始化配置
        bar1 = Bar(init_opts=opts.InitOpts(theme=ThemeType.ESSOS))
        # 添加数据
        bar1.add_xaxis(df["项目"].tolist())
        bar1.add_yaxis("计划", df["计划"].tolist())
        bar1.add_yaxis("实际", df["实际"].tolist())
        # 设置全局配置项
        bar1.set_global_opts(title_opts=opts.TitleOpts(title='计划与目标对比图', pos_left='center'),
                             legend_opts=opts.LegendOpts(pos_left='center', pos_top='5%', orient='vertical'))
        return bar1
    
    
    bar = func()
    # 展示数据
    bar.render_notebook()
    
    

    ```

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

报告相同问题?

问题事件

  • 系统已结题 8月28日
  • 已采纳回答 8月20日
  • 赞助了问题酬金 8月20日
  • 创建了问题 8月20日

悬赏问题

  • ¥20 win11账户锁定时间设为0无法登录
  • ¥45 C#学生成绩管理系统
  • ¥15 VB.NET2022如何生成发布成exe文件
  • ¥30 matlab appdesigner私有函数嵌套整合
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云