首页 > 编程语言 >在excel中使用python 快速作图示例

在excel中使用python 快速作图示例

时间:2024-05-25 15:36:00浏览次数:23  
标签:plt 示例 python Excel excel datetime df 监测

前言

Excel 中可以使用 python 算是一个旧闻了,是 python 之父 Guido van Rossum 加入微软的重要产品。刚出来的第一时间我也尝鲜了,最近作图的时候,再次使用了这个功能,感觉非常方便,推荐大家也用一下。
优点:

  1. Python 在云端运行,无需部署环境。
  2. 可以编写脚本来自动化日常的 Excel 任务,如数据整理、图表生成等,提高工作效率。
  3. 快速响应,可视化选择数据,调整原始数据方便,所见即所得,比 jupyter notebook 更丝滑。
    缺点:
    云端运行的 python,对网速要求高,不方便加载除了标准库以外的第三方库。
    好的,那我们就以日常工作中水质折线图为例,探究下 Excel 中使用 python 的魅力。
    在excel中使用python.png

基础条件

支持 python 的 excel 版本。我是用的是 office 365。
Excel 中的 Python 目前为预览版,可能会根据反馈进行更改。若要使用此功能,请加入 Microsoft 365 会员计划,并选择“Beta 版频道”预览体验成员级别。
Excel 中的 Python 包括 anaconda 提供的一些标准 Python 库,用于提高数据分析和数据可视化能力。包括 Matplotlib、NumPy、Pandas、Seaborn、Statsmodels 等。
image.png

数据结构

一组在线水质检测数据,包括水质站点监测值和监测时间。
image.png

操作步骤

一、选择一个空单元格,点击公式-插入 python
image.png

二、数据结构预览
单元格输入以下代码

df=xl("A1:G98", headers=True)
df['监测时间'] = pd.to_datetime(df['监测时间'])
# 确保时间列是索引
df.set_index('监测时间', inplace=True)
df.describe()

按快捷键 crtl+enter 得到数据集结果。
image.png
仔细看下 excel 界面:
1 为代码输入区,可以调整宽度,自带代码高亮和代码提示。
2 为选择输出类型切换,包括值和 python 对象。
3 为结果展示区域,包括图片或者其他信息,图片的话需要调整单元格宽度。
4 为诊断信息,就像 python 的命令结果窗口,会给出成功或者报错信息。
可以说是一个简单的 IDE,五脏俱全。
image.png
三、绘图
选择一个较大的区域,最好是合并单元格,点击公式-插入 python。
单元格输入以下代码

import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
# 解决坐标轴刻度负号乱码
plt.rcParams["font.sans-serif"] = ["Simhei"]  
plt.rcParams["axes.unicode_minus"] = False
# 将监测时间列转换为datetime类型
df=xl("A1:G98", headers=True)
df['监测时间'] = pd.to_datetime(df['监测时间'])
# 确保时间列是索引
df.set_index('监测时间', inplace=True)
# 使用matplotlib绘制折线图
plt.figure(figsize=(10, 7))  # 设置图表大小
for column in df.columns:
    plt.plot(df.index, df[column], label=column)  # 绘制每列的折线图
# 添加标准值线(值为6),蓝色虚线
plt.axhline(6, color='blue', linestyle='--', label='标准值')
plt.title('5月各站点高锰酸盐指数变化趋势图')  # 设置图表标题
# plt.xlabel('监测时间')  # 设置x轴标签
plt.ylabel('监测值:mg/L')  # 设置y轴标签
plt.xticks(rotation=0)  
plt.tight_layout()  # 自动调整子图参数,使之填充整个图像区域
# 修改图例位置
plt.legend(loc='lower left', bbox_to_anchor=(0, -0.15), ncol=len(df.columns), frameon=False)
plt.show()

结果如下:
image.png
利用 python 的 matplotlib 库绘图,就是这么丝滑。如果下次需要再次绘图,那么就不需要重复设置了,直接修改数据就好了。发现数据存在异常,修改异常值也是快速更新结果,非常方便。

结束语

这只是 excel 中使用 python 的一个小小示例,相信它能做的还有更多。有点担心 vba 的地位了。
最后,如果这篇文章有帮助到你,记得点赞,关注哦。
也欢迎关注我的微信公众号:环境猫 er。
qrcode_for_me.jpg

标签:plt,示例,python,Excel,excel,datetime,df,监测
From: https://www.cnblogs.com/chenwenmao/p/18212484

相关文章

  • 图书管理系统(二)--用户模块--Python版
    本课题要求编写Python程序实现对图书信息录入、图书信息查询、图书借阅等方面的管理。一个综合的图书借阅管理系统,要求能够管理图书的基本信息(包含新图书入库、读者图书查询借阅等),需要实现以下功能:读取以数据文件形式存储的图书信息;管理员可以增加、修改、删除图书的信息;读者可......
  • pyinstaller 打包无窗口python http.server无法启动
    最近在写一个简单的文件服务器用来访问静态文件,遇到在pyinstaller无窗口模式下无法启动的问题,记录一下解决方案。原因:http.server需要将记录输出到窗口,而pyinstaller打包无窗口模式没有地方输出classBaseHTTPRequestHandler(socketserver.StreamRequestHandler):.........
  • python多线程
    1、当程序中有耗时操作时,我们应该使用多线程来进行操作。多线程就像是多辆火车,可以在不同的轨道上同时运行。而进程就像是火车站,正在运行的一个程序的实例。python中多线程可以提供threading模块来实现。简单的多线程案例:importthreadingimporttime#定义线程执行的......
  • Python中动态调用C#的dll动态链接库中方法
    在Python中调用C#的dll库_哔哩哔哩_bilibili 环境准备: 安装pythonnetpipinstallpythonnet 在Python中调用C#动态链接库(DLL),可以使用pythonnet库,它允许直接使用.NET的程序集。以下是一个示例,展示如何使用pythonnet调用C#动态链接库中的方法。【pythonnet详解】—......
  • wxPython==4.2.1 aui.AuiToolBar 如何去掉烦人的抓手?
    aui.AuiToolBar如何去掉烦人的抓手?最近在用wxPython做一些GUI小应用,发现工具栏总有几个点(抓手),很影响美观,如下:目前官方没有提供隐藏抓手的功能,需要更改源码的auibar.py文件注释掉对应代码。如下:#注释这句,大致在auibar.py+3480(不同版本可能有差异)#self._art.DrawGrip......
  • 头歌实验平台-Python-Scrapy爬虫之拉勾网招聘数据分析(第4,5关)
    首先十分感谢在博主(Radish_c-CSDN博客)的帮助下,完成了这个实验的1-3关,然后第4-5关就卡住了,然后搜了好久,这个实验4和5平台上只有博主 (Radish_c-CSDN博客)这个需要更改命令行的答案,博主的原文章在这里Python应用-Scrapy爬虫之拉勾网招聘数据分析-CSDN博客Python应用-Scrapy爬虫......
  • Python串口控制MS伺服电机(多圈角度)
    """多圈电机转动模式1"""defdecimal_to_hex_bytes(decimal_number,byte_size):#检查字节大小参数的有效性valid_sizes={"int8":1,"int16":2,"int32":4,"int64":8}ifbyte_sizenotinval......
  • Python筑基之旅-MySQL数据库(三)
    目录一、数据库操作1、创建1-1、用mysql-connector-python库1-2、用PyMySQL库1-3、用PeeWee库1-4、用SQLAlchemy库2、删除2-1、用mysql-connector-python库2-2、用PyMySQL库2-3、用PeeWee库2-4、用SQLAlchemy库二、数据表操作1、创建1-1、用mysql-connector-pyth......
  • Python筑基之旅-MySQL数据库(四)
    目录一、数据表操作1、新增记录1-1、用mysql-connector-python库1-2、用PyMySQL库1-3、用PeeWee库1-4、用SQLAlchemy库2、删除记录2-1、用mysql-connector-python库2-2、用PyMySQL库2-3、用PeeWee库2-4、用SQLAlchemy库3、修改记录3-1、用mysql-connector-python......
  • kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法
    kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务。一、shell脚本调用python脚本1、下面是一段简单的无参python脚本importosdefmain():#在这里编写Python脚本的主要逻辑print("Hello,thisisaPythonscriptcalledbyshell!")i......