python pandas插入柱形图表的选择

插入柱形图,选择数据如下数据,图为
import os
import pandas as pd #导入panads
from openpyxl import load_workbook # 读取时导入这个
from openpyxl.styles import Font, Alignment #设置单元格格式
from openpyxl.utils import get_column_letter, column_index_from_string
from openpyxl.chart import BarChart3D,BarChart,Reference #柱形BarChart 3D柱BarChart3D

在这里插入图片描述

    chart=BarChart()        #柱形图
    chart.title=namelist+' 营业指标'
    chart.y_axis.title="金额"
    chart.x_axis.title="年份"
    chartdata=Reference(wbsheet, min_col=2, min_row=3, max_row=6, max_col=3)
    chart.add_data(chartdata,titles_from_data=True)  #把第一行当表例
    xtitle=Reference(wbsheet, min_col=1, min_row=4, max_row=6, max_col=1)
    chart.set_categories(xtitle)
    chart.type = "col"          #可以是'bar' 横条 
    chart.shape = 5
    chart.height = 6.5 # default is 7.5
    chart.width = 15 # default is 15
    chart.style = 2         #1-8种可以使用,颜色不同,1为灰
    chart.varyColors=True
    wbsheet.add_chart(chart,'A4')

如选用横排的数据,则图表显示为下图
在这里插入图片描述

    collists1=[3,5,7]       #收入,成本,利润
    collists2=[9,11,13,15]  #销售、管理、财务费用及合计
    collists3=[3,19,7,21]    #收入、利润与指标对比
    collists4=[5,20,15,22]  #成本、三项费用与指标对比
    
    chart=BarChart()        #柱形图
    chart.title=namelist+' 营业指标'
    chart.y_axis.title="金额"
    chart.x_axis.title="年份"
    for collist1 in collists1:
        chartdata=Reference(wbsheet, min_col=collist1, min_row=1, max_row=3, max_col=collist1)
        chart.add_data(chartdata,titles_from_data=False)  #把第一行当表例时,titles_from_data=True

    #xtitle=Reference(wbsheet, min_col=coldata, min_row=2, max_row=3)    #取得月份列为横行
    #chart.set_categories(xtitle)
    chart.type = "col"          #可以是'bar' 横条 
    chart.shape = 5
    chart.height = 6.5 # default is 7.5
    chart.width = 15 # default is 15
    chart.style = 2         #1-8种可以使用,颜色不同,1为灰
    chart.showVal=True
    wbsheet.add_chart(chart,'A4')

写入表的方向性,决定了图中序列的排列,数据横向与图中的横向是一致的,数据填加时,只要是遇到增加了数据,列有变化时,就增加一列数据,即图中横向增加一个柱形,目前想到的方法只有转置数据表,才能达到想要的效果。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值