如何利用Python绘制学术论文图表方法
论文中图表形式多样,常用的处理工具有excel、MATLAB以及Python等,excel自处理的方法有两个缺陷:
1.当数据较多时,容易出现excel“翻白眼”的现象;
2.需要使用subplot功能或批量处理时,使用MATLAB或Python更为方便;
3.excel处理的图在美观程度上较论文图表标准有一定的距离。对比MATLAB以及Python的plot功能,从图的美观角度出发,Python稍占优势,下文讲简要介绍将excel中的数据提取到Python中并利用Python的matplotlib库制图的过程。
一.如何将Excel中的数据导入Python中:
此部分主要介绍如何将Excel中的数据导入python中(原始数据可能在.txt或.out文件中,且数据较为繁杂,可以先利用MATLAB或python将数据进行处理存入Excel中,包括一些简单的计算、排列等,以便于之后的绘图,或直接利用python提取.txt中数据,在此不做详细介绍),主要方法是利用python的xlrd库,流程如下:
# 导入xlrd库
import xlrd
# 读取指定Excel文件(此处为excel_dir)中的数据
data=xlrd.open_workbook(excel_dir)
# 读取指定data中某sheet(此处命名为sheetname)中的数据
table=data.sheet_by_name(sheetname)
#读取table中某一列的数据
needs=table.col_values(0) 其中有几个需要说明的点:
1.excel_dir和sheetname如何定义?
excel_dir应写成字符串的格式(即' '或者" "),最终应以.xls或.xlsx等Excel的后缀结尾,比如读取Administrator桌面上的名为result.xls的文件可写为:
excel_dir = 'C:UsersAdministratorDesktop
esult.xls'data=xlrd.open_workbook(excel_dir)sheetname定义的方法同上,除此之外sheet还有通过索引顺序的读取方法:
table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取2.如何读取某单元格或者某行的数据?
流程中所示为读取某sheet中某列的数据,同理某行数据为:
table.col_values(i)读取某单元格数据命令为:
table.cell(i,j).value 3.读取某行或某列数据时,数据的范围是什么?
举个例子:当某sheet中表格如下时,会读取4×3表格中的数据。
即若想读取B列数据,代码应写为
table.col_values(1)注意:python是从0开始计数的,故column number应为1,此时计入的信息为:[u'',u'',4,u'']
且注意table的维度由各个sheet决定,及若某excel表格有多个sheet,可能出现list长度不同的情况。
4.如果想取某列2-5行如何做呢?
table.col_values(i)[1:5]5.若想取到最后一个数字,应如何编写代码?
由于各行/列的数据类型可能不同,可能会出现第一列仅4个数字,而第二列有9个数字,而最多的一列有100个数字等类似的情况,若直接用取整列的命令,会使list中掺入u'',导致下一步的绘图出错,此时可以使用如下方法:
a_col=table.col_values(i)
a=a_col[0,a_col.index(u'')]但需注意,此命令不能对控制行数的列使用,否则也会报错,可编写其他判断语句进行鉴别是否使用该命令。
二.如何利用Python进行绘图:
此处介绍利用matplotlib库进行绘图的方法,首先应导入matplotlib库:
import numpy as npimport matplotlib.pyplot as plt绘图方法很简单,大致流程如下:
# 绘图命令,1为图号,并设置figsize
fig_drift= plt.figure(1,figsize=(12,4))
# 设置数据在x轴和y轴的坐标,以及颜色、标签等属性,此处用了两组数据
plt.plot(drift[0], story,"g-",label='$Damped$')
plt.plot(drift[1], story,"r-.",label='$Undamped$')
# 设置x轴和y轴的标签
plt.xlabel('Drift')
plt.ylabel('Storey')
# 选择显示数据组标签
plt.legend()
# 设置x轴和y轴的间隔及范围
plt.xticks((0.000,0.005,0.010,0.015))
plt.yticks(range(1,5,1))
# 设置图名
plt.title('minor')
其中需要说明的几点:
1.如何绘制多图?
很简单,只需在设置了图号名之后,插入:
ax2 = plt.subplot(132)
plt.sca(ax2)后面的命令与前述一致,值得一提的是,plt.subplot(131)指的是绘制一个含有1×3子图的图,且ax1代表的是第2张图,而plt.sca(ax2)表示选择该子图。
2.设置x轴、y轴以及其他命令如何判断是赋予哪张图的属性呢?
matplotlib会直接将该属性赋予上一plot对象。
3.如何绘制散点图?
把pl.plot(x, y)改成pl.plot(x, y, 'o')即可。
4.其他一些设置参数:
# 设置x轴和y轴的上下限
pl.xlim(i, j)
pl.ylim(m,n)
# 显示图
pl.show()
# 保存图,自动存为png格式
plt.savefig(dir+name.png,dpi=600)除此之外还支持设置x轴(y轴)坐标显示,绘制饼状图、直方图等功能,在此不再一一介绍。
三.说点题外话:
曾经看过一句话:“世界上没有烂语言,只有写语言的烂人”。
每种语言各自有其优势,也有其劣势,在此不做过多评价。如何利用语言实现绘图或达到更多目标,在于我们如何选择。恰到好处地使用for或def、class等语句,能使一段代码如虎添翼,写在这里,作为给自己的提醒:遇到问题先明确方法、形成体系再进入编写,不要盲目地将看似正确的语言进行强行拼凑,返工率极高。
更多如何利用Python绘制学术论文图表方法相关文章请关注PHP中文网!
比较(一)利用python绘制条形图
无论是简单的数据对比,还是复杂的堆积效果。总结来说,Python中的matplotlib、pandas和seaborn都能帮助我们绘制出丰富的条形图,通过灵活运用和参数调整,你可以为各类数据呈现出直观、准确的视觉表达。无论是新手还是进阶者,都能从中找到适应自己需求的工具和方法。
python编程有什么用
首先,Python在数据分析领域有着举足轻重的地位。结合NumPy、Pandas等强大的第三方库,Python可以高效地进行数据清洗、处理、分析和可视化。例如,在金融领域,分析师可以利用Python对股票、债券等金融数据进行量化分析,从而辅助投资决策。在科研领域,科学家们可以利用Python处理实验数据,进行统计分析,甚至绘制...
如何利用python语言进行数据分析?
随着互联网的不断发展,数据分析已经成为指导我们工作方向的主要依据之一,而今天我们就一起来了解一下,如何利用python编程开发来进行数据分析,下面电脑培训就开始今天的主要内容吧。为什么要学习Python进行数据分析?Python作为一种用于数据分析的语言,近引起了广泛的兴趣。我以前学过Python的基础知识。下面是...
python能做什么?只要应用于哪些方面?应该如何学习?
5. 人工智能 MASA和Google早期大量使用Python,为Python积累了丰富的科学运算库,当AI时代来临后,Python从众多编程语言中脱颖而出,各种人工智能算法都基于Python编写,尤其PyTorch之后,Python作为AI时代头牌语言的位置基本确定。6. 自动化运维 Python是一门综合性的语言,能满足绝大部分自动化运维需求,前端...
如何利用python的字符串和计数器统计字符数量?
思路:从键盘分别输入字符串和要统计的字符,然后对此字符串从头开始逐个与所统计的字符比较。如相同,则让计数器加1,知道字符串整体比较结束为止,计数器中就是需统计的字符的个数,具体代码设计如下:函数应用 1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.例:concat(‘11’,'aa’...
学Python能干什么?
Python可以做什么?1)网站后端程序员:使用它单间网站,后台服务比较容易维护。如:Gmail、Youtube、知乎、豆瓣 2)自动化运维:自动化处理大量的运维任务 3)数据分析师:快速开发快速验证,分析数据得到结果 4)游戏开发者:一般是作为游戏脚本内嵌在游戏中 5)自动化测试:编写为简单的实现脚本,运用在...
如何利用python进行数据分析
•将IPython这个交互式Shell作为你的首要开发环境。•学习NumPy(Numerical Python)的基础和高级知识。•从pandas库的数据分析工具开始。•利用高性能工具对数据进行加载、清理、转换、合并以及重塑。•利用matplotlib创建散点图以及静态或交互式的可视化结果。•利用pandas的...
python科学计算05-利用python的sympy进行导数和偏导数计算
微积分在数学和工程领域中具有核心作用,特别关注函数在不同输入变量变化下所产生的变化与累积。微积分的关键起点是导数与求导概念。导数描述了函数在特定点的变化率。使用Python的SymPy库,我们可以表示并操作符号表达式和参数,从而实现求导操作。对于单一参数函数,我们可以求出一阶、二阶乃至更高级数的导数...
Excel利用Python轻松绘制多级桑基图
在Jupyter notebook中,只需右键点击数据集,选择"my jupyter"->"数据可视化"->"pyecharts"->"桑基图",就能自动完成数据的统计和可视化。以下是一个使用EFunction模板生成的Python代码,它简化了在Excel中绘制桑基图的步骤。这个代码片段是自动化的,适用于在Jupyter notebook中快速生成桑基图。未来,...
Python能做什么,能够开发什么项目?
2、图形处理 有PIL、Tkinter等图形库支持,能方便进行图形处理。3、数学处理 NumPy扩展提供大量与许多标准数学库的接口。4、文本处理 python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。5、数据库编程 程序员可通过遵循Python DB-API(数据库应用程序编程...
穰盼聚明: 当数据较多时,容易出现excel"翻白眼"的现象; 需要使用subplot功能或批量处理时,使用MATLAB或Python更为方便; excel处理的图在美观程度上较论文图表标准有一定的距离.
江汉区17357322248: 如何利用Python绘制学术论文图表 - ?
穰盼聚明: 进入python shell,执行下 import matplotlib 看看,如果提示错误,就是没有正确安装,安装应该也简单pip install matplotlib应该就行了.我用的是python2.7,3.5没试过
江汉区17357322248: python怎么使用matplotlib画出下面这样的图 - ?
穰盼聚明: 最简单的柱状代码应该是这样的# coding: utf-8 import matplotlib.pyplot as plt import numpy as np x = np.random.randint(0, 10, size=10) y = np.random.randint(100, 1000, size=10) plt.bar(x, y) plt.show()
江汉区17357322248: 论文研究思路结构图(论文研究思路图怎么画) ?
穰盼聚明: 1、1.案例是一个实际情境的描述,在这个情境中,包含有一个或多个疑难问题,同时也可能包含有解决这些的方法.2、2.“教学案例描述的是教学实践.3、它以丰富的叙述形式,向人们展示了一些包含有教师和学生的典型行为、思想、感情在内的故事.4、”3.教学案例是指包含有某些决策或疑难问题的教学情境故事,这些故事反映了典型的教学思考力水平及其保持、下降或达成等现象.5、这类案例的搜集必须事先实地作业,并从教学任务分析的目标出发,有意识地择取有关信息,在这里研究者自身的洞察力是关键.6、4.教学案例是指“由教师撰写,或由研究人员与教师共同撰写的叙述性的教学实践记录.7、”.
江汉区17357322248: 如何画论文中漂亮的立体示意图 - ?
穰盼聚明: 利用R语言的ggplot2画图 ggplot2是R的一个package,画图风格相当文艺小清新.看论文看到用ggplot2画图都是一种享受哦!极为擅长于数据可视化.可惜ggplot2功能没有Python或者Matlab全面,画不出稀奇古怪的电路图不支持三维立体图像哦~不过作为一个统计绘图软件那些功能也不算很重要啦.ggplot2有一个最大的特点是引入了图层的概念,各位用过Photoshop应该能理解吧?你可以随心所欲将各种基本的图叠加起来显示在一张图上,构造出各种各样新奇的图片!
江汉区17357322248: 如何使用Python绘制GWAS分析中的曼哈顿图和QQ图 - ?
穰盼聚明: 如何使用Python绘制GWAS分析中的曼哈顿图和QQ图 sqlplus / as sysdba startup 这些命令在linux下是好用的 但是在windows下只要启动了oracle服务,数据库就已经被启动了,即使你使用shutdown关闭数据库后你要想再重新启动oracle必须先关闭win服务在启动才可以,使用startup是不可以的. plink不用安装,直接运行即可..bim和.map是plink的文件格式,现在很多公司给数据都是直接转成plink给你GWAS位点更多
江汉区17357322248: 学术论文中的图表一般用什么软件来画 - ?
穰盼聚明: 可以用OriginLab作统计分析结果图,如果是照片一般用PS
江汉区17357322248: 怎样使用Python图像处理 - ?
穰盼聚明: 安装一个 PIL(python imageing Library) 拥有常见的操作 缩放 模糊 旋转 切片 滤镜 输出文字 调色板 等等
江汉区17357322248: Python的turtle库画图使用中的问题 - ?
穰盼聚明: 当turtle.seth(0),箭头指向0,就是→,因为你后面是turtle.fd(-400),面向右方后退400个单位 turtle.seth(0),箭头指向180,就是←,turtle.fd(400),-400变为400,就是想要的效果
江汉区17357322248: 如何在论文中画出漂亮的插图 - ?
穰盼聚明: 科研论文中的图表是研究结果最为直观的显示方式.表格和图片可以更加清楚直观地表现一些复杂的信息,比如复杂系统之间的关系以及事件发生的顺序等.一张清晰、直观且表达正确的图片会增强文章的说服力,它的效果往往胜过大段的文字...