
正文
python调用函数绘图,用python绘制各种函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
强烈推荐一款Python可视化神器!强烈必备!
Plotly Express 是一个新的高级 Python 可视化库:它是 Plotly.py 的高级封装,它为复杂的图表提供了一个简单的语法。
受 Seaborn 和 ggplot2 的启发,它专门设计为具有简洁,一致且易于学习的 API :只需一次导入,您就可以在一个函数调用中创建丰富的交互式绘图,包括分面绘图(faceting)、地图、动画和趋势线。 它带有数据集、颜色面板和主题,就像 Plotly.py 一样。
Plotly Express 完全免费:凭借其宽松的开源 MIT 许可证,您可以随意使用它(是的,甚至在商业产品中!)。
最重要的是,Plotly Express 与 Plotly 生态系统的其他部分完全兼容:在您的 Dash 应用程序中使用它,使用 Orca 将您的数据导出为几乎任何文件格式,或使用JupyterLab 图表编辑器在 GUI 中编辑它们!
用 pip install plotly_express 命令可以安装 Plotly Express。
一旦导入Plotly Express(通常是 px ),大多数绘图只需要一个函数调用,接受一个整洁的Pandas dataframe,并简单描述你想要制作的图。 如果你想要一个基本的散点图,它只是 px.scatter(data,x =“column_name”,y =“column_name”)。
以下是内置的 Gapminder 数据集的示例,显示2007年按国家/地区的人均预期寿命和人均GDP 之间的趋势:
如果你想通过大陆区分它们,你可以使用 color 参数为你的点着色,由 px 负责设置默认颜色,设置图例等:
这里的每一点都是一个国家,所以也许我们想要按国家人口来衡量这些点...... 没问题:这里也有一个参数来设置,它被称为 size:
如果你好奇哪个国家对应哪个点? 可以添加一个 hover_name ,您可以轻松识别任何一点:只需将鼠标放在您感兴趣的点上即可! 事实上,即使没有 hover_name ,整个图表也是互动的:
也可以通过 facet_col =”continent“ 来轻松划分各大洲,就像着色点一样容易,并且让我们使用 x轴 对数(log_x)以便在我们在图表中看的更清晰:
也许你不仅仅对 2007年 感兴趣,而且你想看看这张图表是如何随着时间的推移而演变的。 可以通过设置 animation_frame=“year” (以及 animation_group =“country” 来标识哪些圆与控制条中的年份匹配)来设置动画。
在这个最终版本中,让我们在这里调整一些显示,因为像“gdpPercap” 这样的文本有点难看,即使它是我们的数据框列的名称。 我们可以提供更漂亮的“标签” (labels),可以在整个图表、图例、标题轴和悬停(hovers)中应用。 我们还可以手动设置边界,以便动画在整个过程中看起来更棒:
因为这是地理数据,我们也可以将其表示为动画地图,因此这清楚地表明 Plotly Express 不仅仅可以绘制散点图(不过这个数据集缺少前苏联的数据)。
事实上,Plotly Express 支持三维散点图、三维线形图、极坐标和地图上三元坐标以及二维坐标。 条形图(Bar)有二维笛卡尔和极坐标风格。
进行可视化时,您可以使用单变量设置中的直方图(histograms)和箱形图(box)或小提琴图(violin plots),或双变量分布的密度等高线图(density contours)。 大多数二维笛卡尔图接受连续或分类数据,并自动处理日期/时间数据。 可以查看我们的图库 (ref-3) 来了解每个图表的例子。
数据 探索 的主要部分是理解数据集中值的分布,以及这些分布如何相互关联。 Plotly Express 有许多功能来处理这些任务。
使用直方图(histograms),箱形图(box)或小提琴图(violin plots)可视化单变量分布:
直方图:
箱形图:
小提琴图:
还可以创建联合分布图(marginal rugs),使用直方图,箱形图(box)或小提琴来显示双变量分布,也可以添加趋势线。 Plotly Express 甚至可以帮助你在悬停框中添加线条公式和R²值! 它使用 statsmodels 进行普通最小二乘(OLS)回归或局部加权散点图平滑(LOWESS)。
在上面的一些图中你会注意到一些不错的色标。 在 Plotly Express 中, px.colors 模块包含许多有用的色标和序列:定性的、序列型的、离散的、循环的以及所有您喜欢的开源包:ColorBrewer、cmocean 和 Carto 。 我们还提供了一些功能来制作可浏览的样本供您欣赏(ref-3):
定性的颜色序列:
众多内置顺序色标中的一部分:
我们特别为我们的交互式多维图表感到自豪,例如散点图矩阵(SPLOMS)、平行坐标和我们称之为并行类别的并行集。 通过这些,您可以在单个图中可视化整个数据集以进行数据 探索 。 在你的Jupyter 笔记本中查看这些单行及其启用的交互:
散点图矩阵(SPLOM)允许您可视化多个链接的散点图:数据集中的每个变量与其他变量的关系。 数据集中的每一行都显示为每个图中的一个点。 你可以进行缩放、平移或选择操作,你会发现所有图都链接在一起!
平行坐标允许您同时显示3个以上的连续变量。 dataframe 中的每一行都是一行。 您可以拖动尺寸以重新排序它们并选择值范围之间的交叉点。
并行类别是并行坐标的分类模拟:使用它们可视化数据集中多组类别之间的关系。
Plotly Express 之于 Plotly.py 类似 Seaborn 之于 matplotlib:Plotly Express 是一个高级封装库,允许您快速创建图表,然后使用底层 API 和生态系统的强大功能进行修改。 对于Plotly 生态系统,这意味着一旦您使用 Plotly Express 创建了一个图形,您就可以使用Themes,使用 FigureWidgets 进行命令性编辑,使用 Orca 将其导出为几乎任何文件格式,或者在我们的 GUI JupyterLab 图表编辑器中编辑它 。
主题(Themes)允许您控制图形范围的设置,如边距、字体、背景颜色、刻度定位等。 您可以使用模板参数应用任何命名的主题或主题对象:
有三个内置的 Plotly 主题可以使用, 分别是 plotly, plotlywhite 和 plotlydark。
px 输出继承自 Plotly.py 的 Figure 类 ExpressFigure 的对象,这意味着你可以使用任何 Figure 的访问器和方法来改变 px生成的绘图。 例如,您可以将 .update() 调用链接到 px 调用以更改图例设置并添加注释。 .update() 现在返回修改后的数字,所以你仍然可以在一个很长的 Python 语句中执行此操作:
在这里,在使用 Plotly Express 生成原始图形之后,我们使用 Plotly.py 的 API 来更改一些图例设置并添加注释。
Dash 是 Plotly 的开源框架,用于构建具有 Plotly.py 图表的分析应用程序和仪表板。Plotly Express 产生的对象与 Dash 100%兼容,只需将它们直接传递到 dash_core_components.Graph,如下所示: dcc.Graph(figure = px.scatter(...))。 这是一个非常简单的 50行 Dash 应用程序的示例,它使用 px 生成其中的图表:
这个 50 行的 Dash 应用程序使用 Plotly Express 生成用于浏览数据集的 UI 。
可视化数据有很多原因:有时您想要提供一些想法或结果,并且您希望对图表的每个方面施加很多控制,有时您希望快速查看两个变量之间的关系。 这是交互与 探索 的范畴。
Plotly.py 已经发展成为一个非常强大的可视化交互工具:它可以让你控制图形的几乎每个方面,从图例的位置到刻度的长度。 不幸的是,这种控制的代价是冗长的:有时可能需要多行 Python 代码才能用 Plotly.py 生成图表。
我们使用 Plotly Express 的主要目标是使 Plotly.py 更容易用于 探索 和快速迭代。
我们想要构建一个库,它做出了不同的权衡:在可视化过程的早期牺牲一些控制措施来换取一个不那么详细的 API,允许你在一行 Python 代码中制作各种各样的图表。 然而,正如我们上面所示,该控件并没有消失:你仍然可以使用底层的 Plotly.py 的 API 来调整和优化用 Plotly Express 制作的图表。
支持这种简洁 API 的主要设计决策之一是所有 Plotly Express 的函数都接受“整洁”的 dataframe 作为输入。 每个 Plotly Express 函数都体现了dataframe 中行与单个或分组标记的清晰映射,并具有图形启发的语法签名,可让您直接映射这些标记的变量,如 x 或 y 位置、颜色、大小、 facet-column 甚至是 动画帧到数据框(dataframe)中的列。 当您键入 px.scatter(data,x ='col1',y='col2') 时,Plotly Express 会为数据框中的每一行创建一个小符号标记 - 这就是 px.scatter 的作用 - 并将 “col1” 映射到 x 位置(类似于 y 位置)。 这种方法的强大之处在于它以相同的方式处理所有可视化变量:您可以将数据框列映射到颜色,然后通过更改参数来改变您的想法并将其映射到大小或进行行分面(facet-row)。
接受整个整洁的 dataframe 的列名作为输入(而不是原始的 numpy 向量)也允许 px 为你节省大量的时间,因为它知道列的名称,它可以生成所有的 Plotly.py 配置用于标记图例、轴、悬停框、构面甚至动画帧。 但是,如上所述,如果你的 dataframe 的列被笨拙地命名,你可以告诉 px 用每个函数的 labels 参数替换更好的。
仅接受整洁输入所带来的最终优势是它更直接地支持快速迭代:您整理一次数据集,从那里可以使用 px 创建数十种不同类型的图表,包括在 SPLOM 中可视化多个维度 、使用平行坐标、在地图上绘制,在二维、三维极坐标或三维坐标中使用等,所有这些都不需要重塑您的数据!
在 API 级别,我们在 px 中投入了大量的工作,以确保所有参数都被命名,以便在键入时最大限度地发现:所有 scatter -类似的函数都以 scatter 开头(例如 scatter_polar, scatter_ternary)所以你可以通过自动补全来发现它们。 我们选择拆分这些不同的散点图函数,因此每个散点图函数都会接受一组定制的关键字参数,特别是它们的坐标系。 也就是说,共享坐标系的函数集(例如 scatter, line & bar,或 scatter_polar, line_polar 和 bar_polar )也有相同的参数,以最大限度地方便学习。 我们还花了很多精力来提出简短而富有表现力的名称,这些名称很好地映射到底层的 Plotly.py 属性,以便于在工作流程中稍后调整到交互的图表中。
最后,Plotly Express 作为一个新的 Python 可视化库,在 Plotly 生态系统下,将会迅速发展。所以不要犹豫,立即开始使用 Plotly Express 吧!
相关问答
Q1: python怎么调用函数画五环?
import turtle
turtle.showturtle() #屏幕上显示出来海龟绘图,终端中会用到
turtle.penup() #抬起画笔,此时画笔的移动不会留下痕迹
turtle.pendown() #放下画笔,此时画笔的移动会留下痕迹
turtle.pensize(3) #笔粗为3
turtle.goto(-200,100) #将画笔移动到(-200,100)坐标
turtle.color("red") #设定画笔的颜色为红色
turtle.circle(100) #以当前画笔所在点为圆最下端开始画半径为100的圆
turtle.circle(100,steps=n) #绘制一个周长为100,的n边形
turtle.forward(200) #将画笔前进200
turtle.backward(100) #将比后退100
turtle.right(70) #将画笔箭头的方向向右移70度
turtle.left(90) #将画笔箭头的方向向左移90度
turtle.stamp() #复制当前图形
turtle.write("hello,小朋友",font=('宋体',20,"normal")) #添加括号里的字符,font设置字符字体,大小以及作用
turtle.reste() #重置
turtle.hideturtle() #将画笔隐藏
turtle.done() #把所绘图显示出来,不关闭绘图软件
给绘制的图形填充颜色
turtle.begin_fill()
turtle.circle(100)
turtle.color("yellow")
turtle.end_fill()
1
2
3
4
例:画出奥运五环
import turtle
turtle.color("blue")
turtle.circle(100)
turtle.penup()
turtle.goto(-200,0)
turtle.pendown()
turtle.color("red")
turtle.circle(100)
turtle.penup()
turtle.goto(200,0)
turtle.color("yellow")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(-100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.done()
Q2: 可以让你快速用Python进行数据分析的10个小技巧
一些小提示和小技巧可能是非常有用的,特别是在编程领域。有时候使用一点点黑客技术,既可以节省时间,还可能挽救“生命”。
一个小小的快捷方式或附加组件有时真是天赐之物,并且可以成为真正的生产力助推器。所以,这里有一些小提示和小技巧,有些可能是新的,但我相信在下一个数据分析项目中会让你非常方便。
Pandas中数据框数据的Profiling过程
Profiling(分析器)是一个帮助我们理解数据的过程,而Pandas Profiling是一个Python包,它可以简单快速地对Pandas 的数据框数据进行 探索 性数据分析。
Pandas中df.describe()和df.info()函数可以实现EDA过程第一步。但是,它们只提供了对数据非常基本的概述,对于大型数据集没有太大帮助。 而Pandas中的Profiling功能简单通过一行代码就能显示大量信息,且在交互式HTML报告中也是如此。
对于给定的数据集,Pandas中的profiling包计算了以下统计信息:
由Pandas Profiling包计算出的统计信息包括直方图、众数、相关系数、分位数、描述统计量、其他信息——类型、单一变量值、缺失值等。
安装
用pip安装或者用conda安装
pip install pandas-profiling
conda install -c anaconda pandas-profiling
用法
下面代码是用很久以前的泰坦尼克数据集来演示多功能Python分析器的结果。
#importing the necessary packages
import pandas as pd
import pandas_profiling
df = pd.read_csv('titanic/train.csv')
pandas_profiling.ProfileReport(df)
一行代码就能实现在Jupyter Notebook中显示完整的数据分析报告,该报告非常详细,且包含了必要的图表信息。
还可以使用以下代码将报告导出到交互式HTML文件中。
profile = pandas_profiling.ProfileReport(df)
profile.to_file(outputfile="Titanic data profiling.html")
Pandas实现交互式作图
Pandas有一个内置的.plot()函数作为DataFrame类的一部分。但是,使用此功能呈现的可视化不是交互式的,这使得它没那么吸引人。同样,使用pandas.DataFrame.plot()函数绘制图表也不能实现交互。 如果我们需要在不对代码进行重大修改的情况下用Pandas绘制交互式图表怎么办呢?这个时候就可以用Cufflinks库来实现。
Cufflinks库可以将有强大功能的plotly和拥有灵活性的pandas结合在一起,非常便于绘图。下面就来看在pandas中如何安装和使用Cufflinks库。
安装
pip install plotly
# Plotly is a pre-requisite before installing cufflinks
pip install cufflinks
用法
#importing Pandas
import pandas as pd
#importing plotly and cufflinks in offline mode
import cufflinks as cf
import plotly.offline
cf.go_offline()
cf.set_config_file(offline=False, world_readable=True)
是时候展示泰坦尼克号数据集的魔力了。
df.iplot()
df.iplot() vs df.plot()
右侧的可视化显示了静态图表,而左侧图表是交互式的,更详细,并且所有这些在语法上都没有任何重大更改。
Magic命令
Magic命令是Jupyter notebook中的一组便捷功能,旨在解决标准数据分析中的一些常见问题。使用命令%lsmagic可以看到所有的可用命令。
所有可用的Magic命令列表
Magic命令有两种:行magic命令(line magics),以单个%字符为前缀,在单行输入操作;单元magic命令(cell magics),以双%%字符为前缀,可以在多行输入操作。如果设置为1,则不用键入%即可调用Magic函数。
接下来看一些在常见数据分析任务中可能用到的命令:
% pastebin
%pastebin将代码上传到Pastebin并返回url。Pastebin是一个在线内容托管服务,可以存储纯文本,如源代码片段,然后通过url可以与其他人共享。事实上,Github gist也类似于pastebin,只是有版本控制。
在file.py文件中写一个包含以下内容的python脚本,并试着运行看看结果。
#file.py
def foo(x):
return x
在Jupyter Notebook中使用%pastebin生成一个pastebin url。
%matplotlib notebook
函数用于在Jupyter notebook中呈现静态matplotlib图。用notebook替换inline,可以轻松获得可缩放和可调整大小的绘图。但记得这个函数要在导入matplotlib库之前调用。
%run
用%run函数在notebook中运行一个python脚本试试。
%run file.py
%%writefile
%% writefile是将单元格内容写入文件中。以下代码将脚本写入名为foo.py的文件并保存在当前目录中。
%%latex
%%latex函数将单元格内容以LaTeX形式呈现。此函数对于在单元格中编写数学公式和方程很有用。
查找并解决错误
交互式调试器也是一个神奇的功能,我把它单独定义了一类。如果在运行代码单元时出现异常,请在新行中键入%debug并运行它。 这将打开一个交互式调试环境,它能直接定位到发生异常的位置。还可以检查程序中分配的变量值,并在此处执行操作。退出调试器单击q即可。
Printing也有小技巧
如果您想生成美观的数据结构,pprint是首选。它在打印字典数据或JSON数据时特别有用。接下来看一个使用print和pprint来显示输出的示例。
让你的笔记脱颖而出
我们可以在您的Jupyter notebook中使用警示框/注释框来突出显示重要内容或其他需要突出的内容。注释的颜色取决于指定的警报类型。只需在需要突出显示的单元格中添加以下任一代码或所有代码即可。
蓝色警示框:信息提示
p class="alert alert-block alert-info"
bTip:/b Use blue boxes (alert-info) for tips and notes.
If it’s a note, you don’t have to include the word “Note”.
/p
黄色警示框:警告
p class="alert alert-block alert-warning"
bExample:/b Yellow Boxes are generally used to include additional examples or mathematical formulas.
/p
绿色警示框:成功
p class="alert alert-block alert-success"
Use green box only when necessary like to display links to related content.
/p
红色警示框:高危
p class="alert alert-block alert-danger"
It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc.
/p
打印单元格所有代码的输出结果
假如有一个Jupyter Notebook的单元格,其中包含以下代码行:
In [1]: 10+5
11+6
Out [1]: 17
单元格的正常属性是只打印最后一个输出,而对于其他输出,我们需要添加print()函数。然而通过在notebook顶部添加以下代码段可以一次打印所有输出。
添加代码后所有的输出结果就会一个接一个地打印出来。
In [1]: 10+5
11+6
12+7
Out [1]: 15
Out [1]: 17
Out [1]: 19
恢复原始设置:
InteractiveShell.ast_node_interactivity = "last_expr"
使用'i'选项运行python脚本
从命令行运行python脚本的典型方法是:python hello.py。但是,如果在运行相同的脚本时添加-i,例如python -i hello.py,就能提供更多优势。接下来看看结果如何。
首先,即使程序结束,python也不会退出解释器。因此,我们可以检查变量的值和程序中定义的函数的正确性。
其次,我们可以轻松地调用python调试器,因为我们仍然在解释器中:
import pdb
pdb.pm()
这能定位异常发生的位置,然后我们可以处理异常代码。
自动评论代码
Ctrl / Cmd + /自动注释单元格中的选定行,再次命中组合将取消注释相同的代码行。
删除容易恢复难
你有没有意外删除过Jupyter notebook中的单元格?如果答案是肯定的,那么可以掌握这个撤消删除操作的快捷方式。
如果您删除了单元格的内容,可以通过按CTRL / CMD + Z轻松恢复它。
如果需要恢复整个已删除的单元格,请按ESC + Z或EDIT撤消删除单元格。
结论
在本文中,我列出了使用Python和Jupyter notebook时收集的一些小提示。我相信它们会对你有用,能让你有所收获,从而实现轻松编码!
Q3: python绘图篇
1,xlable,ylable设置x,y轴的标题文字。
2,title设置标题。
3,xlim,ylim设置x,y轴显示范围。
plt.show()显示绘图窗口,通常情况下,show()会阻碍程序运行,带-wthread等参数的环境下,窗口不会关闭。
plt.saveFig()保存图像。
面向对象绘图
1,当前图表和子图可以用gcf(),gca()获得。
subplot()绘制包含多个图表的子图。
configure subplots,可调节子图与图表边框距离。
可以通过修改配置文件更改对象属性。
图标显示中文
1,在程序中直接指定字体。
2, 在程序开始修改配置字典reParams.
3,修改配置文件。
Artist对象
1,图标的绘制领域。
2,如何在FigureCanvas对象上绘图。
3,如何使用Renderer在FigureCanvas对象上绘图。
FigureCanvas和Render处理底层图像操作,Artist处理高层结构。
分为简单对象和容器对象,简单的Aritist是标准的绘图元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器类型包含许多简单的的 Aritist对象,使他们构成一个整体,例如Axis,Axes,Figure等。
直接创建Artist对象进项绘图操作步奏:
1,创建Figure对象(通过figure()函数,会进行许多初始化操作,不建议直接创建。)
2,为Figure对象创建一个或多个Axes对象。
3,调用Axes对象的方法创建各类简单的Artist对象。
Figure容器
如何找到指定的Artist对象。
1,可调用add_subplot()和add_axes()方法向图表添加子图。
2,可使用for循环添加栅格。
3,可通过transform修改坐标原点。
Axes容器
1,patch修改背景。
2,包含坐标轴,坐标网格,刻度标签,坐标轴标题等内容。
3,get_ticklabels(),,get-ticklines获得刻度标签和刻度线。
1,可对曲线进行插值。
2,fill_between()绘制交点。
3,坐标变换。
4,绘制阴影。
5,添加注释。
1,绘制直方图的函数是
2,箱线图(Boxplot)也称箱须图(Box-whisker Plot),是利用数据中的五个统计量:最小值、第一四分位
数、中位数、第三四分位数与最大值来描述数据的一种方法,它可以粗略地看出数据是否具有对称性以及分
布的分散程度等信息,特别可以用于对几个样本的比较。
3,饼图就是把一个圆盘按所需表达变量的观察数划分为若干份,每一份的角度(即面积)等价于每个观察
值的大小。
4,散点图
5,QQ图
低层绘图函数
类似于barplot(),dotchart()和plot()这样的函数采用低层的绘图函数来画线和点,来表达它们在页面上放置的位置以及其他各种特征。
在这一节中,我们会描述一些低层的绘图函数,用户也可以调用这些函数用于绘图。首先我们先讲一下R怎么描述一个页面;然后我们讲怎么在页面上添加点,线和文字;最后讲一下怎么修改一些基本的图形。
绘图区域与边界
R在绘图时,将显示区域划分为几个部分。绘制区域显示了根据数据描绘出来的图像,在此区域内R根据数据选择一个坐标系,通过显示出来的坐标轴可以看到R使用的坐标系。在绘制区域之外是边沿区,从底部开始按顺时针方向分别用数字1到4表示。文字和标签通常显示在边沿区域内,按照从内到外的行数先后显示。
添加对象
在绘制的图像上还可以继续添加若干对象,下面是几个有用的函数,以及对其功能的说明。
•points(x, y, ...),添加点
•lines(x, y, ...),添加线段
•text(x, y, labels, ...),添加文字
•abline(a, b, ...),添加直线y=a+bx
•abline(h=y, ...),添加水平线
•abline(v=x, ...),添加垂直线
•polygon(x, y, ...),添加一个闭合的多边形
•segments(x0, y0, x1, y1, ...),画线段
•arrows(x0, y0, x1, y1, ...),画箭头
•symbols(x, y, ...),添加各种符号
•legend(x, y, legend, ...),添加图列说明
Q4: 在Python中使用字符串调用函数
已有字符串形式的函数名称,那么如何调用这个函数呢?
通过调用内置函数locals()和globals()返回的字典对象,就可以可以获得名称与对象的映射关系。其中,locals()仅在全局范围内调用时可以获得函数对象。 我们来看以下的例子。
需要注意的是,使用上述方法通过字符串调用函数时,为了系统的安全,防止执行任意函数,需要对函数名做一些处理,也就是使用统一的前缀为这些函数命名。例如在上述例子中,使用前缀cmd_+函数名的形式定义函数(cmd_help,cmd_sum)。
在传入函数名字符串时,只传入函数名的后半部分(如"help","sum"),由程序添加前缀后组成完整的函数名,再调用该函数。
对于类的成员函数,则可以使用getattr()获得类成员函数。
上述代码通过字符串调用了类成员函数,与前一段代码执行的结果相同。
此外,还可以使用字典将字符串与函数对应起来调用,缺点就是每增加一个函数需要相应在字典对象中添加相应的键值,增加代码维护工作量。
以上代码在Python 3.6以上运行通过。
Q5: 请问用python处理excel数据绘制曲线图能不能做成一个类似的小软件?
可以啊,先确定好需要操作excel的哪些动作,用到哪些函数,然后通过python调用excel接口,实现对excel的操作;还有一种是只是读取excel里面的数据,然后通过matplotlib等第三方库,绘制数据曲线图。







