当撰写在学术期刊上揭橥的文章时,图表的布局和风格应符合预定义的格式哀求,这样可以确保该出版物的所有文章都具有同等的风格,并且任何包含的图表在打印时都是高质量的。
Python在科学界广泛利用并供应了创建科学绘图的好方法。然而当利用Python中最盛行的绘图库之一matplotlib时默认的图表质量较差,须要进行调度以确保知足哀求。变动matplotlib图形的样式可能非常耗时,这便是scienceplots库派上用场的地方。只需几行代码就可以立即改变图形的外不雅观而无需花费太多韶光来研究。
如何变动图形的不同部分?scienceplots该库许可用户创建大略信息丰富的图表,类似于学术期刊和研究论文中的图表,不仅如此它还将所需的DPI设置为600。(对付某些样式)这常日是出版物的哀求,以确保打印出高质量的印刷图形。
scienceplots库包含多种样式,包括对多种措辞的支持包括中文和日文等。可以通过下面的链接探索science71211中的全部样式。在本视频中将磋商如何将一些基本和常见的数据可视化转换为可以,包含在科学出版物中的形式设置scienceplots。
在利用science画笔库创建绘图之前,须要确保打算机上安装了LaTeX。LaTeX是一种排版系统专为创建技能和科学文档而设计。如果你的打算机上尚未安装LaTeX可以在如下两个链接中找到有关LaTeX以及如何安装它的更多详细信息。
如果正在利用Google Colab,则可以在单元格中运行代码来安装LaTeX。在设置好LaTeX之后可以利用pip安装scienceplots库,在选择的平台上安装了库和LaTeX之后,就可以导入scienceplots库以及matplot··创建用于绘图的虚拟数据。在天生一些图表之前首先须要创建一些样本数据。我们将在本视频的后面部分展示science plots库如何处理现实天下的数据。
对付本视频的这一部分,现在将利用np.linspace创建一些线性间隔的值,然后对该数据进行一些随机的数学打算。一旦创建了数据(或者如果从csv文件中加载数据,则将其加载到pandas中)就可以开始创建绘图了。
我们将首先处理的是折线图,可以通过利用matplotlib的.plot(函数并传入x和y参数的必需数据来轻松创建此图表。由于处理的是从方程中派生的变量,因此有时将这些变量包含在图例中,对付读者理解它们可能很方便。
Matplotconfig的好处是可以利用LaTeX方程作为标签,我们只须要用美元符号($)将方程括起来即可。当运行代码时会得到带有标准颜色的基本Matplotlib图像,只管上图看起来可用但它的质量(dpi和大小)以及样式可能并不完备适宜在期刊中揭橥。
运用Science·s样式到线型图,要立即转换图像可以添加一行代码:利用with语句调用Matplotlib的style.context函数,并许可传入Science·plus供应的浩瀚可用样式之一。
当运行代码时将得到更适宜于期刊揭橥的绘图,该图形简洁(即没有多余的图表元素)并且很随意马虎区分不同的线条。此外在Jupyter Notebook中查看此图形时,它可能会显示得非常大。纵然我们设置了相对较小的图形尺寸,这是由于图形的DPI被设置为600,这常日是许多出版物的哀求,并确保图形尽可能清晰然后考试测验运用另一种样式。
这次将利用电气和电子工程师学会(IEEE)的样式,要做到这一点只须要将high-vis更换为ieee即可改变样式。当运行上述代码时将得到以下利用IEEE推举样式的绘图。
利用Science·s绘制直方图,在前面的示例中本视频磋商了如何将样式运用于线性图,但是也可以将相同的样式运用于其他类型的绘图。接下来考试测验如何将这种样式运用于直方图。
首先利用以下代码创建一个Matplotlib图形,利用一些伽马射线(地质形态的自然放射性丈量)数据。为了显示第二个数据集本视频将同样的数据向右调,整了20个API单位。伽马射线丈量的大略MatplotQUA直方图,可以把稳到它利用了MatplotQUA直方图,并且看起来非常根本两个数据集相互重叠,这导致一些信息被隐蔽。
现在查看一下IEEE样式如何改变这种情形,当运行上述代码时将得到以下利用IEEE样式的图形。然而第二个伽马射线数据集仍旧遮挡了第一个数据集。
大概本视频对Science Plots库能够处理任何重叠并自动运用透明度抱有过高的期望。然而为此须要付出一点努力,只须要为每个数据集添加alpha参数即可。在这个图形中可以看到两个数据集的条形的变革。建议检讨所需揭橥的期刊的样式指南以确保利用透明度是可接管的。在大多数情形下该当是可以的但最好进行确认。
运用Science Petitlee图形,不仅可以将science Posit库中的样式运用于matplotlib图形,还可以将其运用于Seaborn图形。这是由于Seaborn基于matplotlib代码开拓,在创建图形时有时Seaborn供应了比matplotlib更大略的绘图办法。
例如当有一个基于文本的分类变量时我们希望能够绘制该变量,而不必为每个种别添加单独的散点图。在这个例子中有一些中子孔隙度和堆积密度数据,这是常见的测井丈量。
对付每个丈量还有一个岩性种别,这个数据集来源于Force2020Xeek机器学习竞赛数据集,详细信息可以在文章末端找到。首先须要在条记本中导入seaborn,导入seaborn库后可以利用以下代码创建散点图,当运行上面的代码时会得到数据按不同岩性着色的散点图,看起来还不错。然而须要确保样式适宜预期的期刊并且颜色对所有读者都可访问和利用。
要运用science画笔样式可以利用与之前相同的语法:当运行上面的代码时会得到以下具有改进样式的图,包括新的调色板。5Seaborn散点图利用science shortcut,显示堆积密度与终止孔隙度按岩性变革着色。选择图形的调色板可能会很棘手且耗时。然而经由一些思考它可以使图形对具有视觉问题的读者更易访问和理解。此外一些颜色在黑白打印时可能不随意马虎区分,因此可以考虑为不同种别分配不同的形状,这对付从实验室过程中得到的小型数据集中尤为主要。
在本视频中磋商了如何快速将基本的matplot面糊图形转化为可以轻松添加到科学出版文章中的形式,这些图形可能仍旧须要进一步调整,但通过利用science球形库可以实现大部分需求。其余建议查看所选择期刊的作者工具包,以确保创建的图形符合哀求的标准。推举书单《Python从入门到精通(第3版)》。
本书从初学者角度出发通过普通易懂的措辞丰富多彩的实例,详细先容了利用Python进行程序开拓该当节制的各方面技能。全书共分27章,包括初识PythonPython措辞根本,运算符与表达式流程掌握语句,列表和元组字典和凑集字符串Python中利用正则表达式,函数面向工具程序设计模块文件及目录操作,操作数据库利用进程和线程,网络编程非常处理及程序调试Pygame游戏编程。
推箱子游戏网络爬虫开拓火车票剖析助手,数据可视化京东电商发卖数据剖析与预测Web编程Flask框架e起去旅行网站Python自动化办公AI图像识别工具等内容。书中所有知识都结合详细实例进行先容,涉及的程序代码都给出了详细的注释。
读者可轻松领会Python程序开拓的精髓快速提升开拓技能。