excel python 形状_何使用Python操作Excel绘制柱形图
开发工具,环境
- PyCharm
- Python3
- Office Excel
我们已经创建好了一张Excel表。
现在我们要根据已有的数据,往里面添加柱形图。
柱形图 BarChart
我们主要使用BarChart
与BarChart3D
类。
图表中许多的细节由BarChart属性控制。
后文都以chart1来表示柱形图对象 chart1 = BarChart()
。
数据来源范围 Reference
首先我们应该确定数据的范围。有数据才好绘图。这里使用的是Reference
类来表示数据“引用”范围。
data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)cats1 = Reference(st, min_col=1, min_row=2, max_row=7)
需要注意的是,范围的下标是从1开始的。
这里的data1把标题也框进去了。设定数据的时候,需要设置titles_from_data=True
chart1.add_data(data1, titles_from_data=True)
设置种类使用set_categories
方法,也是把一个范围(Reference)的数据传入。
chart1.set_categories(cats1)
柱子方向控制 type
方向由属性type
来控制,有2个可选参数:bar
表示横向,col
表示竖直。
chart1.type = "bar" # 横向柱形图
chart1.type = "col" # 纵向柱形图
标题 title
属性title控制标题。如果置为None则不显示标题。
图表的标题 chart1.title = "日均值对比"
坐标的标题,首先需要拿到x,y的坐标。
chart1.y_axis.title = '数值'chart1.x_axis.title = st.cell(column=1, row=1).value # 直接用单元格的内容做标题
添加图表
add_chart将图表添加到sheet中。图表的左上角对齐某个单元格。下面是对齐A8。
st.add_chart(chart1, 'A8')
3D柱形图 BarChart3D
柱子的形状 shape
默认是立方体,但也可以从下面的形状里选一个。
{'box', 'pyramid', 'pyramidToMax', 'coneToMax', 'cone', 'cylinder'}
chart1.type = 'cone'
box 是立方体,中规中矩。
pyramid 是金字塔,顶部也是尖的。
cone 是圆锥,看起来很尖锐。
cylinder 是圆柱。
配色风格 style
style 会影响图表的配色风格,一般用10比较多彩多样。
代码示例
绘制图表用的数据来自运营的Python指南 - Python 操作Excel。
我们在已有的表格中添加柱形图。代码参考python-playground - Github
绘制2D柱形图
def create_bar_chart_1(file_path):"""插入柱形图:param file_path: Excel 文件路径:return: None"""wb = load_workbook(file_path)st = wb.activedata1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)cats1 = Reference(st, min_col=1, min_row=2, max_row=7)chart1 = BarChart()chart1.type = "col"chart1.style = 9chart1.title = "日均值对比"# chart1.y_axis.title = '数值'chart1.x_axis.title = st.cell(column=1, row=1).valuechart1.add_data(data1, titles_from_data=True)chart1.set_categories(cats1)chart1.shape = 0st.add_chart(chart1, 'A8')wb.save(file_path)
绘制3D柱形图
def create_bar_chart_2(file_path):"""插入3D柱形图:param file_path: Excel 文件路径:return: None"""wb = load_workbook(file_path)st = wb.activedata1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)cats1 = Reference(st, min_col=1, min_row=2, max_row=7)chart1 = BarChart3D()chart1.type = "bar"chart1.style = 10chart1.title = "日均值对比"chart1.x_axis.title = Nonechart1.shape = 'cylinder'chart1.add_data(data1, titles_from_data=True)chart1.set_categories(cats1)st.add_chart(chart1, 'A26')wb.save(file_path)
运行结果示例图片
学习更过python技能和知识可以查看下面:
抓包必备技能--Fiddler工具详解全网最细
excel python 形状_何使用Python操作Excel绘制柱形图相关推荐
- java 操作excel的类_探究下Java操作Excel的几类工具
引言 java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI ...
- 包无法安装_详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel
详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel 注意:下列教程为 Windows7 64位:Windows 10有部分步骤有差异,请参考使用! 01 下载Python程序 ...
- python调用百度OCR识别证件+操作excel表格
python调用百度OCR识别证件+操作excel表格 如果要操作文件的话最好让程序知道文件存不存在,因为做了GUI界面,报错不会直接弹出来,异常捕获就用得比较频繁 因为面向对象没学好,GUI是用工具 ...
- wps python 自动化_请教下 Python 高手,如何用 Python 自动化操作 Excel?
最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!! 但是其实我们平时在做自动化测试的时候,如果涉及到数据的读取和存储,那么而利用 ...
- python 获取excel文本框_如何基于python操作excel并获取内容
这篇文章主要介绍了如何基于python操作excel并获取内容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景:从excel表中获取请求url. ...
- python xlrd使用_python使用xlrd 操作Excel读写
原博文 2016-07-12 15:00 − 此文章非本人 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了pyt ...
- python对excel数据统计_数据分析EPHS(4)-使用Excel和Python计算数列统计值
前面环境都搞的差不多了,这次咱们进入实战篇,来计算一列的统计值.统计值主要有最大值.最小值.均值.标准差.中位数.四分位数.话不多说,直接进入正题. 本文介绍使用Excel和Python来计算上述统计 ...
- python在excel中数据画线_python中操作excel数据
python操作excel,python有提供库 本文介绍openpyxl,他只支持新型的excell( xlsx)格式,读取速度还可以 1.安装 pip install openpyxl 2.使用 ...
- python使用tkinter库,封装操作excel为GUI程序
首先是完整程序 import xlwings as xws # 操作excel库 import tkinter as tk # Gui库 import random # 随机数def create() ...
最新文章
- 深入“肠-脑”神经高速通道,揭开“第六感觉”面纱
- PHP实现http与https转化[转张宴]
- vim上次和下次光标位置
- FreeMarker template error: The following has evaluated to null or missing
- Linux 探索之旅 | 第五部分第五课:循环往复,Shell 开路
- Jaspersoft Studio:整合springboot搭建环境
- python为什么虚部是j不是i_Python基础02 基本数据类型
- Elastic Stack简介
- LeetCode 557. 反转字符串中的单词 III(栈)
- Java并发编程实战笔记
- github无法显示图片,其他一切正常的解决办法
- windows下ch340 usb转串口芯片的驱动从哪里下载?
- 《快学Scala》第6章 对象 练习
- html如何调用function,请问HTML function函数怎么定义和调用?
- 斐讯dns劫持,路由器DNS被劫持的解决办法
- linux最新bbr加速,CentOS 7.8 安装BBR加速
- Excel聚光灯--双箭头指示
- crm管理系统是什么意思 crm系统全称是什么 - whale帷幄
- CRMEB 商城分销功能
- 如何改变alert的默认样式