利用python将 Matplotlib 可视化插入到 Excel表格中

目录
  • 数据可视化
  • 图表插入Excel

前言:

在生活中工作中,我们经常使用Excel用于储存数据,Tableau等BI程序处理数据并进行可视化。我们也经常使用R、Python编程进行高质量的数据可视化,生成制作了不少精美优雅的图表。

但是如何将这些“优雅”延续要Excel中呢?Python绘图库有很多,我们就还是拿最基本的Matplotlib为例。

今天就为大家演示一下,如何将Matplotlib绘制的可视化图片,插入到Excel中

其他可视化库生成的图片,也同样适用

数据可视化

目前Python用来操作Excel的库:xlrd、xlwt、openpyxl、xlwings等等。在本文中,我们会使用xlwings模块来控制Excel插入图表。

首先,使用Pandas模块读取数据,并随机预览5行。

import pandas as pd
df = pd.read_excel('可视化数据.xlsx')
df.sample(5)

输出:

使用Python读取数据后,便可以matplotlib进行数据可视化了。此处使用了《Python 数据可视化之美》中的一个例子。

import numpy as np
from pandas.plotting import radviz
import matplotlib.pyplot as plt

angle = np.arange(360)/180*3.14159
x = np.cos(angle)
y = np.sin(angle)

figure = plt.figure(figsize=(3.5, 3.5), dpi=100)
ax = radviz(df, 'variety', color=['#FC0000', '#F0AC02', '#009E88'], edgecolors='k', marker='o', s=34, linewidths=1)
plt.plot(x, y, color='gray')
plt.axis('off')
plt.legend(loc="center", bbox_to_anchor=(1.1, 0, 0, 0.4), edgecolor='none', facecolor='none', title='Group')

输出:

上面绘制得到的图形是RadViz图(径向坐标可视化)。Radviz可视化原理[2]是将一系列多维空间的点通过非线性方法映射到二维空间的可视化技术,是基于圆形平行坐标系的设计思想而提出的多维可视化方法。

图表插入Excel

在xlwings库中,想要实现图表插入Excel里,主要靠的是picture对象的add()方法。

它有几个重要的参数,如下表所示:

参数名 释义用法
image 文件路径或Matplotlib图形对象。
left 以磅为单位距离左侧边缘的位置,默认为0。
top 以磅为单位距离上侧边缘的位置,默认为0。
width 设置图宽。
height 设置图高。
name Excel图片名称。如果未提供,则默认为Excel标准名称。
update 替换更新图片。
scale 缩放尺度。

在交互式环境中输入如下命令:

import xlwings as xw

app = xw.App(visible=False, add_book=False)
wb = app.books.open('可视化数据.xlsx')
sheet = wb.sheets[0]  # 选择第1个工作表
sheet.pictures.add(figure)  # 插入图表
wb.save("可视化数据-新.xlsx")
wb.close()
app.quit()

在上述代码中,其实关键代码就一行,其他的代码都是打开、打开、打开,关闭、关闭、关闭。这是因为xlwings想要直接操作工作表中的单元格,需要经过多重结构,

具体如下图所示:

最后,打开原本的Excel表格,发现matplotlib绘制的图表已经与数据放在了一起。

这样,我们就实现了将Matplotlib绘制的可视化图片插入到Excel中。

到此这篇关于利用python将 Matplotlib 可视化 插入到 Excel 表格中的文章就介绍到这了,更多相关Matplotlib 插入 Excel 表格内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python matplotlib读取excel数据并用for循环画多个子图subplot操作

    读取excel数据需要用到xlrd模块,在命令行运行下面命令进行安装 pip install xlrd 表格内容大致如下,有若干sheet,每个sheet记录了同一所学校的所有学生成绩,分为语文.数学.英语.综合.总分 考号 姓名 班级 学校 语文 数学 英语 综合 总分 ... ... ... ... 136 136 100 57 429 ... ... ... ... 128 106 70 54 358 ... ... ... ... 110.5 62 92 44 308.5 画多张子图需要

  • Python关于excel和shp的使用在matplotlib

    关于excel和shp的使用在matplotlib 使用pandas 对excel进行简单操作 使用cartopy 读取shpfile 展示到matplotlib中 利用shpfile文件中的一些字段进行一些着色处理 #!/usr/bin/env python # -*- coding: utf-8 -*- # @File : map02.py # @Author: huifer # @Date : 2018/6/28 import folium import pandas as pd impo

  • 利用python将 Matplotlib 可视化插入到 Excel表格中

    目录 数据可视化 图表插入Excel 前言: 在生活中工作中,我们经常使用Excel用于储存数据,Tableau等BI程序处理数据并进行可视化.我们也经常使用R.Python编程进行高质量的数据可视化,生成制作了不少精美优雅的图表. 但是如何将这些“优雅”延续要Excel中呢?Python绘图库有很多,我们就还是拿最基本的Matplotlib为例. 今天就为大家演示一下,如何将Matplotlib绘制的可视化图片,插入到Excel中. 其他可视化库生成的图片,也同样适用 数据可视化 目前Pyth

  •  python用matplotlib可视化绘图详解

    目录 1.Matplotlib 简介 2.Matplotlib图形绘制 1)折线图 2)柱状图 3)条形图 3)饼图 4)散点图 5)直方图 6)箱型图 7)子图 1.Matplotlib 简介 Matplotlib 简介: Matplotlib 是一个python的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,matplotlib 对于图像美化方面比较完善,可以自定义线条的颜色和样式,可以在一张绘图纸上绘制多张小图,也可以在一张图上绘制多条线,可以很方便地将数据可

  • 利用Python进行数据可视化常见的9种方法!超实用!

    前言 如同艺术家们用绘画让人们更贴切的感知世界,数据可视化也能让人们更直观的传递数据所要表达的信息. 我们今天就分享一下如何用 Python 简单便捷的完成数据可视化. 其实利用 Python 可视化数据并不是很麻烦,因为 Python 中有两个专用于可视化的库 matplotlib 和 seaborn 能让我们很容易的完成任务. Matplotlib:基于Python的绘图库,提供完全的 2D 支持和部分 3D 图像支持.在跨平台和互动式环境中生成高质量数据时,matplotlib 会很有帮助

  • 如何利用 Python 绘制动态可视化图表

    目录 一.安装相关的模块 二.gif和matplotlib的结合 三.gif和plotly的结合 四.matplotlib多子图动态可视化 五.动态气泡图 一.安装相关的模块 首先第一步的话我们需要安装相关的模块,通过pip命令来安装 pip install gif 另外由于gif模块之后会被当做是装饰器放在绘制可视化图表的函数上,主要我们依赖的还是Python当中绘制可视化图表的matplotlib.plotly.以及altair这些模块,因此我们还需要下面这几个库 pip install "

  • linux操作系统利用python实现任务管理器可视化功能

    1.python安装 1.创建一个文件夹, mkdir python 进入文件夹下,进行解压: tar zxvf Python-3.6.5.tar 进入Python-3.6.5这个文件夹下面输入: ./configure 接下来出现一大堆过程,最后提示你 run 一个命令 按照提示的命令输入就行. 输入make命令(如果提示不存在,就使用 apt install make安装即可),等待就行. make && make install #编译并安装 继续等待安装完成即可. 这时我们cd到根

  • 利用Python进行数据可视化的实例代码

    目录 前言 首先搭建环境 实例代码 例子1: 例子2: 例子3: 例子4: 例子5: 例子6: 总结 前言 前面写过一篇用Python制作PPT的博客,感兴趣的可以参考 用Python制作PPT 这篇是关于用Python进行数据可视化的,准备作为一个长贴,随时更新有价值的Python可视化用例,都是网上搜集来的,与君共享,本文所有测试均基于Python3. 首先搭建环境 $pip install pyecharts -U $pip install echarts-themes-pypkg $pi

  • 如何利用Python处理excel表格中的数据

    目录 一.基础.常用方法 二.提高 三.出错 总结 一.基础.常用方法 1. 读取excel 1.导入模块: import xlrd 2.打开文件: x1 = xlrd.open_workbook("data.xlsx") 3.获取sheet: sheet是指工作表的名称,因为一个excel有多个工作表 获取所有sheet名字:x1.sheet_names() 获取sheet数量:x1.nsheets 获取所有sheet对象:x1.sheets() 通过sheet名查找:x1.shee

  • 利用python库matplotlib绘制不同的图表

    目录 1.绘制简单曲线图 2.绘制单条曲线图 3.绘制多条曲线 4.绘制直方图 5.绘制散点图 1.绘制简单曲线图 思路:通过3个坐标点,绘制曲线 import matplotlib.pyplot as plt   plt.plot([1, 3, 5], [4, 8, 10]) # 横坐标:1,3,5,纵坐标:4,8,10 # 显示所画的图 plt.show()  运行效果如图: 2.绘制单条曲线图 思路:先通过linspace绘制一条直线,然后在-pi~pi之间定义100个元素 import

  • 教你利用python的matplotlib(pyplot)绘制折线图和柱状图

    目录 前言 一.折线图 二.柱状图 总结 前言 今天帮师兄赶在deadline之前画论文的图,现学现卖很是刺激,现把使用matplotlib的子库pyplot画折线图和柱状图的代码记录分享一下,方便大家参考,个人感觉pyplot真的蛮方便的,非常值得使用. 先看下官方对pyplot的描述:“Provides a MATLAB-like plotting framework.”.对,就是一个类似matlab的画图框架.就不多多说了,直接上代码吧: 一.折线图 代码: import matplotl

  • 如何利用python将Xmind用例转为Excel用例

    目录 1.Xmind用例编写规范 2.转换代码 3.使用 1.Xmind用例编写规范 1:需求大模块 2:大模块中的小模块(需要根据需求来看需要多少层) 3:用例等级和用例名称 用例等级(转换成Excel文件后,1为High, 2 为 Middle, 3为Low) 转换成excel时,用例的名称为(框出来的1-2-3组合而成),意味着在标等级及之前的节点会组合成用例名称 4:步骤 5:期望结果 6:预置条件,转换成excel时相同层级下的用例会为同一个预置条件 2.转换代码 需要安装python

随机推荐