科研论文配图绘制指南-Task01

本文是根据开源科研论文配图绘制指南做的笔记
第一章内容 科研论文绘制基础和配色基础
项目地址
一、绘制工具及其重要特征
的可视化绘图工具
优点:提供几十种绘图函数,用户可定制视觉样式和排版布局
缺点:面向对象的绘制语法学习成本高、便捷性和逻辑性不如R的
的可视化绘图工具,在上进行封装,中大多数绘图函数的参数都可以在绘图函数中使用 。学习成本比低 。
是面向对象绘图方法的高级封装库,整合了//地图库/和,可弥补的部分缺陷,让使用者拥有更顺滑的绘图体验和绘图主题 。
由于是个人开发,更新频率不是太高 。
注:目前不支持3.5版本系列的 。
专门用于科研论文绘图的第三方工具包,提供了主流英文科技期刊(、和IEEE等)的图样式(绘图主题)( ) 。
二、绘图代码分析 1.1.1 科研论文配图基本构成
源代码:
import numpy as npimport pandas as pdimport seaborn as snsimport proplot as ppltimport matplotlib.pyplot as pltfrom proplot import rcrc["font.family"] = "Times New Roman"rc["axes.labelsize"] = 15rc['tick.labelsize'] = 13rc["suptitle.size"] = 15plt.style.use('science')# 使用 'science' 风格的样式,需要安装 SciencePlots 库data = http://www.kingceram.com/post/pd.read_excel(r"基本构成示意绘图数据.xlsx")# 从 Excel 文件中读取数据fig = pplt.figure(figsize=(4.5, 3.5))# 创建一个大小为 4.5x3.5 的图像ax = fig.subplot()# 添加一个子图ax.format(abc='(a.)', abcloc='ul', abcsize=20,# 设置图表标签、位置、字体样式xlabel='Time', ylabel='Values',# 设置坐标轴标签文字xlim=(-2, 40), ylim=(-8, 30))# 设置坐标轴范围selsect = ["A", "B", "C", "D"]# 数据点的类型colors = ["#2FBE8F", "#459DFF", "#FF5B9B", "#FFCC37"]# 绘制不同类型数据使用的颜色for index, color in zip(selsect, colors):data_selcet = data.loc[data['type'] == index, :]# 根据不同类型选择数据ax.errorbar(x=data_selcet["time"], y=data_selcet["mean"], yerr=data_selcet["sd"],color="k", linewidth=1, marker='o', ms=10, mew=1, mec='k', mfc=color, capsize=5, label=index)# 在图中添加误差线和散点,并设置不同颜色ax.legend(ncols=4, frame=True, loc='t')# 添加图例#fig.save(r"\第1章 科研论文配图的绘制与配色基础\\图1-1-1 科研论文配图基本构成示意图.svg")# 保存图像,注释掉了保存命令plt.show()# 显示图像
输出效果:
rc 在这里表示 "run ",它是用来配置图表绘制的一些运行时参数,例如字体、标签大小、坐标轴标签等 。通过设置 rc 参数,你可以在创建图表时自定义默认的样式和参数,以便于在多个图表中保持一致的外观 。
在代码中,以下这些行用来设置一些图表绘制的默认参数,例如字体、标签大小等:

科研论文配图绘制指南-Task01

文章插图
rc["font.family"] = "Times New Roman"# 设置字体rc["axes.labelsize"] = 15# 设置坐标轴标签大小rc['tick.labelsize'] = 13# 设置刻度标签大小rc["suptitle.size"] = 15# 设置总标题大小
在绘制图表时,这些参数的默认值会被应用于图表的各个部分,从而使图表的外观符合你的要求 。这种方式可以让你在不同的图表中保持一致的风格,而不需要在每个图表中都单独设置样式 。
绘制数据线部分的代码解释如下:
列表,这两个列表的长度相同,所以它们会一一对应 。index 变量会依次取列表中的值(比如 "A"、"B" 等),而 color 变量会依次取列表中的值(比如 "#"、"#" 等) 。= data.loc[data['type'] == index, :]: 这行代码使用了的.loc[]方法,根据不同的index值,从data数据中选择相应的行数据 。具体来说,它会选择data数据中'type'列的值等于当前的index的行,然后:表示选择所有的列 。ax.(x=["time"], y=["mean"], yerr=["sd"], color="k", =1, ='o', ms=10, mew=1, mec='k', mfc=color, =5, label=index): 这行代码使用了ax.()方法,在图表ax上添加了误差线和散点 。具体来说,它根据中的数据绘制了散点图,并使用color变量的颜色,同时添加了误差线(用于显示标准偏差) 。其他参数如、、ms(散点大小)、mew(散点边界宽度)、mec(散点边界颜色)、mfc(散点填充颜色)、(误差线的帽子大小)等都用于控制绘图的样式 。