Python绘制Excel图表

  • pandas结合xlsxwriter绘制图表
    • 依赖安装
    • 绘制环形饼状图

pandas结合xlsxwriter绘制图表

需求:在Excel文件内绘制图表
经搜索,找到 https://xlsxwriter.readthedocs.io/working_with_charts.html

依赖安装

xlsxwriter,xlrd需单独安装

  1. pip install pandas
  2. pip install xlsxwriter
  3. pip install xlrd

绘制环形饼状图

原数据 test.xlsx
NAME列设置为图表标题,绘制“占比1、占比2”列环形饼状图,依据“因素”列设置图形大小

代码中修改了显示颜色,详细画图信息在代码注释中

import os
import sysimport pandas as pdfile_name = 'test.xlsx'
in_excel_file_name = '../test/{}'.format(file_name)
out_excel_file_name = '{}.xlsx'.format(os.path.basename(file_name))sheet_name = 'Sheet1'df = pd.read_excel(in_excel_file_name)
# 将画图结果另存为一个文件
out_excel_file_path = os.path.join(sys.path[0], '输出')
if not os.path.exists(out_excel_file_path):os.makedirs(out_excel_file_path)
out_excel_file_name = os.path.join(out_excel_file_path, out_excel_file_name)writer = pd.ExcelWriter(out_excel_file_name, engine='xlsxwriter')
df.to_excel(writer, sheet_name=sheet_name, index=False)workbook = writer.book
worksheet = writer.sheets[sheet_name]# 设置颜色
points = []points.append({'fill': {'color': '#eeb1aa'}})
points.append({'fill': {'color': '#01c4ea'}})# 遍历行 type:doughnut为环形饼状图
for index, row in df.iterrows():chart = workbook.add_chart({'type': 'doughnut'})chart.set_title({'name': row['NAME']})  # 依据Excel文件中NAME列设置图表标题chart.add_series({'categories': '={}!$C$1:$D$1'.format(sheet_name), # 根据C列~D列绘制'values': '={}!$C${}:$D${}'.format(sheet_name, index + 2, index + 2), # C列~D列图表值'points': points})# 中心环形大小百分比chart.set_hole_size(50)# The default chart width x height is 480 x 288 pixelssize1 = {'width': 185, 'height': 100}size2 = {'width': 185, 'height': 104}size3 = {'width': 185, 'height': 110}# 针对不同列属性绘制不同大小的图表if row['因素'] <= 6:chart.set_size(size1)elif 6 < row['因素'] <=9:chart.set_size(size2)else:chart.set_size(size3)# anchored to cell 每行绘制5个,x_offset为图片偏移值# insert_chart('I{}'....)的参数 I为插入图片列x_offset = index % 5chart_pos_offset = int(index / 5)worksheet.insert_chart('I{}'.format(chart_pos_offset * 7 + 1), chart, {'x_offset': 200 * x_offset})writer.save()
workbook.close()

结果.xlsx

Python绘制Excel图表相关推荐

  1. Python导出Excel图表

    Python自动化办公的过程,部分涉及到导出Excel图表:本篇主要讲下使用python代码将excel中的图表导出为图片的开发过程: Python  版本: C:\Users>python P ...

  2. [转载] Python导出Excel图表

    参考链接: Python | 使用openpyxl模块在Excel工作表中绘制图表 1 Python自动化办公的过程,部分涉及到导出Excel图表:本篇主要讲下使用python代码将excel中的图表 ...

  3. 用Python绘制棒棒糖图表,真的好看!

    作者 | 小F       责编 | 欧阳姝黎 条形图在数据可视化里,是一个经常被使用到的图表. 虽然很好用,也还是存在着缺陷呢.比如条形图条目太多时,会显得臃肿,不够直观. 棒棒糖图表则是对条形图的 ...

  4. Python 绘制数据图表

    Python 绘制数据图表 matplotlib绘图库模块安装 pip install matplotlib 导入pyplot子模块 import matplotlib.pyplot as plt 官 ...

  5. 【Python】利用Python绘制3D图表

    代码 ''' Author: CloudSir Date: 2021-07-28 10:57:47 LastEditTime: 2021-08-04 17:33:07 LastEditors: Clo ...

  6. 用Python绘制棒棒糖图表

    条形图在数据可视化里,是一个经常被使用到的图表. 虽然很好用,也还是存在着缺陷.比如条形图条目太多时,会显得臃肿,不够直观. 棒棒糖图表则是对条形图的改进,以一种小清新的设计,清晰明了表达了我们的数据 ...

  7. [转载] python画柱状图-Python绘制精美图表之双柱形图

    参考链接: Python | 使用XlsxWriter模块在Excel工作表中绘制条形图 图表是比干巴巴的表格更直观的表达,简洁.有力.工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连 ...

  8. python将图片保存到excel_使用Python导出Excel图表以及导出为图片的方法

    本篇讲下如何使用纯python代码将excel 中的图表导出为图片.这里需要使用的模块有win32com.pythoncom模块. 网上经查询有人已经写好的模块pyxlchart,具体代码如下: fr ...

  9. python绘制3D图表

    pyecharts绘制3D图表 参数配置和说明 Grid3DOpts.Axis3DOpts为3D图标需要配置项 Grid3DOpts:三位坐标系配置项 class pyecharts.options. ...

  10. python绘制动态图表怎么存下来_用python如何实现导入excel数据后自动生成图表?python如何实现交互式动态图表?...

    这个需求涉及的环节太多了.导入excel文件,获取数据 -- 需要xlrd模块把数据导入python 2. 设定输出图表类型 -- 需要matplot模块.根据数据复杂度,可能需要ETL,那么需要pa ...

最新文章

  1. 解读 | 2019年10篇计算机视觉精选论文(上)
  2. 豆瓣/name-?P=0/事件
  3. spring servlet 扩展undertow
  4. 查看占用指定端口的程序
  5. Centos7.0 Vmware10.0.3 网络桥接配置
  6. Latex符号与公式集合
  7. RQNOJ-19 篝火晚会
  8. Linux开发板通过U盘拷贝文件
  9. 绘制可视化报表技巧,免费报表工具必备!
  10. 计算机网络自学之路,必看的网络工程师学习路线
  11. 如何使用WinRAR将一个大文件压缩成多个小的压缩包
  12. php 屏蔽 strict standards,PHP Strict Standards:问题解决
  13. 使用getElementsByTagName()和namedItem()获取特定元素
  14. 自己交社保的人怎么样才知道自己可以退休了?
  15. web程序安装说明书
  16. 2019年中科大计算机夏令营经验帖
  17. redis和zookeeper实现分布式锁的区别
  18. 关于sql server导出csv格式文件的身份证号乱码问题处理办法
  19. 做好企业数据管理,用什么样的数据开发平台?
  20. 【AI Studio】飞桨图像分类零基础训练营 - 01 - 图像处理基本概念

热门文章

  1. JAVA-JSP内置对象之request获得所有的参数名称
  2. Android11_图片处理
  3. C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果【转载】
  4. Android Open Source Projects(汇总与整理)
  5. android中broadcastreceiver的用法-代码中注册
  6. C# 类2010-11-07
  7. 关于孟德斯鸠的出卖官职
  8. 解决VS2019配置QT6.1.1出现大量错误信息
  9. class with pointer
  10. 引导滤波 Guided Image Filtering