当前位置:首页 > 软件 > 正文内容

Python实例|自定义Excel柱形图柱子的填充颜色和边框颜色(附源码+限免视频)

张家口灯箱制作3年前 (2022-10-01)软件243
印刷厂直印●彩页1000张只需要69元●名片5元每盒-更多报价➦联系电话:138-1621-1622(微信同号)

使用Python开发微软的Excel通常需要使用第三方库,如xlrd、xlwt、xlutils、xlwings、win*2com、openpyxl、pandas等,各种第三方库都有自己独特的功能和缺陷,因此在采用这些第三方库之前需要慎重考虑。

如:xlrd只能读取在Excel文件中的数据;xlwt只能在Excel文件中写入数据;xlutils虽然可以读写Excel文件的数据,但是它依赖于xlrd和xlwt;xlwings可以从Excel中调用Python,也可在Python中调用Excel;win*2com可以独立读写Excel文件的数据;openpyxl也可以独立读写Excel文件的数据;pandas能够读写在Excel文件中的数据,但是它需要xlrd/xlwt/openpyxl/xlsxwriter等库的配合。

下面介绍两个Python辅助Excel实例,分别是自定义柱形图柱子的填充颜色,和自定义柱形图柱子的边框颜色。

实例:自定义柱形图柱子的填充颜色

0*

实例功能

此案例主要通过使用指定的颜色设置柱形图指定柱子(myColumns[0])的填充颜色(myColumns[0].graphicalProperties.solidFill属性),从而实现在柱形图中自定义各个柱子的填充颜色。当运行此案例的Python代码(A***.py文件)之后,在“员工表.xlsx”文件中将根据员工表的员工人数创建柱形图,并使用指定的颜色自定义柱形图的各个柱子的填充颜色,如图*所示。

■ 图*

02

实现代码

importopenpyxl

myBook=openpyxl.load_workbook( '员工表.xlsx')

mySheet=myBook.active

myBarChart=openpyxl.chart.BarChart

myBarChart.add_data(openpyxl.chart.Reference(mySheet,min_col= 2,

min_row= *,max_row= 8),titles_from_data= True)

myBarChart.set_categories(openpyxl.chart.Reference(mySheet,

min_col= *,min_row= *,max_row= 8))

myBarChart.legend= None

myBarChart.title= "使用柱形图展示华茂集团员工人数"

myBarChart.style= 2*

#自定义柱形图(myBarChart)各个柱子的填充颜色

myColumns=[openpyxl.chart.series.DataPoint(idx=i) fori inrange( *)]

myBarChart.series[ 0].data_points=myColumns

myColumns[ 0].graphicalProperties.solidFill= "FAE*D0"

myColumns[ *].graphicalProperties.solidFill= "BB22**"

myColumns[ 2].graphicalProperties.solidFill= "22DD22"

myColumns[ *].graphicalProperties.solidFill= "**2*0B"

myColumns[ *].graphicalProperties.solidFill= "9***02"

mySheet.add_chart(myBarChart, "C*")

myBook.save( '结果表-员工表.xlsx')

0*

代码说明

在上面这段代码中,myColumns[*].graphicalProperties.solidFill ="BB22**"表示使用深红色(BB22**)填充第2个柱子(myColumns[*])。

此案例的源文件是MyCode\A***\A***.py。

扫码观看讲解视频

实例:自定义柱形图柱子的边框颜色

0*

实例功能

此案例主要通过使用指定的颜色设置柱形图指定柱子(myColumns[0])的边框颜色(myColumns[0].graphicalProperties.line.solidFill属性),从而实现在柱形图中自定义各个柱子的边框颜色。当运行此案例的Python代码(A***.py文件)之后,在“员工表.xlsx”文件中将根据员工表的员工人数创建柱形图,并使用指定的颜色自定义柱形图的各个柱子的边框颜色,如图2所示。

■ 图2

02

实现代码

importopenpyxl

myBook=openpyxl.load_workbook( '员工表.xlsx')

mySheet=myBook.active

myBarChart=openpyxl.chart.BarChart

myBarChart.add_data(openpyxl.chart.Reference(mySheet,min_col= 2,

min_row= *,max_row= 8),titles_from_data= True)

myBarChart.set_categories(openpyxl.chart.Reference(mySheet,

min_col= *,min_row= *,max_row= 8))

myBarChart.legend= None

myBarChart.y_axis.majorGridlines= None

myBarChart.title= "使用柱形图展示华茂集团员工人数"

myColumns=[openpyxl.chart.series.DataPoint(idx=i) fori inrange( *)]

myBarChart.series[ 0].data_points=myColumns

#取消第*个柱子的填充颜色

myColumns[ 0].graphicalProperties.noFill= True

#设置第*个柱子的边框颜色为黑色

myColumns[ 0].graphicalProperties.line.solidFill= "000000"

#取消第2个柱子的填充颜色

myColumns[ *].graphicalProperties.noFill= True

#设置第2个柱子的边框颜色为红色

myColumns[ *].graphicalProperties.line.solidFill= "FF0000"

#取消第*个柱子的填充颜色

myColumns[ 2].graphicalProperties.noFill= True

#设置第*个柱子的边框颜色为绿色

myColumns[ 2].graphicalProperties.line.solidFill= "00FF00"

#取消第*个柱子的填充颜色

myColumns[ *].graphicalProperties.noFill= True

#设置第*个柱子的边框颜色为蓝色

myColumns[ *].graphicalProperties.line.solidFill= "0000FF"

#取消第*个柱子的填充颜色

myColumns[ *].graphicalProperties.noFill= True

#设置第*个柱子的边框颜色为青色

myColumns[ *].graphicalProperties.line.solidFill= "00FFFF"

mySheet.add_chart(myBarChart, "C*")

myBook.save( '结果表-员工表.xlsx')

0*

代码说明

在上面这段代码中,myColumns[0].graphicalProperties.noFill=True表示取消第*个柱子的填充颜色。myColumns[0].graphicalProperties.line.solidFill="000000"表示使用黑色绘制第*个柱子的边框。

此案例的源文件是MyCode\A***\A***.py。

0*

补充说明

02*yin.com/python/python-basic-syntax.html)。

扫码观看讲解视频

0*

源代码下载

关注*,后台回复关键词 “Python辅助ExcelV*82” 即可获得完整源代码。

0*

参考书籍

《Python辅助Word+Excel:让办公更高效》

作者:罗帅、罗斌

定价:99.8元

扫码优惠购书

**7个典型办公场景

问题描述+解决方案+真实源码+效果截图

Python+Word+Excel实现办公自动化,

成倍提高办公效率

优化数据分析,让工作省点力!

告别重复劳动,蜕变职场精英!

收藏0

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。