10分钟上手SCI级图表:SciencePlots科研可视化神器实战指南

10分钟上手SCI级图表:SciencePlots科研可视化神器实战指南

【免费下载链接】SciencePlots garrettj403/SciencePlots: SciencePlots 是一个面向科研人员的Matplotlib样式库,旨在创建符合科学出版规范且专业美观的数据图表。该库包含了一系列预设的主题和参数配置,方便科研工作者高效制作高质量的可视化结果。 【免费下载链接】SciencePlots 项目地址: https://gitcode.com/gh_mirrors/sc/SciencePlots

你还在为论文图表不符合期刊要求而反复修改吗?还在为调整字体、颜色、图例浪费数小时吗?本文将带你用SciencePlots库,10分钟制作出符合《自然》《IEEE》等顶级期刊规范的专业图表。读完本文你将掌握:5种核心期刊样式的快速切换、8类色彩主题的科学应用、多语言图表的本地化方案,以及10个领域的实战案例模板。

项目简介与安装

SciencePlots是一个面向科研人员的Matplotlib样式库,旨在创建符合科学出版规范且专业美观的数据图表。该库包含了一系列预设的主题和参数配置,方便科研工作者高效制作高质量的可视化结果。

安装命令

pip install SciencePlots

项目核心样式文件位于scienceplots/styles/目录,包含期刊样式、色彩方案、语言支持等多种配置。完整使用说明参见README.md

基础使用方法

SciencePlots的核心优势在于通过上下文管理器快速应用预设样式。基础使用框架如下:

import matplotlib.pyplot as plt
import numpy as np

# 生成示例数据
x = np.linspace(0.75, 1.25, 201)
def model(x, p):
    return x ** (2 * p + 1) / (1 + x ** (2 * p))

# 应用科学样式
with plt.style.context(["science"]):
    fig, ax = plt.subplots()
    for p in [10, 15, 20, 30, 50, 100]:
        ax.plot(x, model(x, p), label=p)
    ax.legend(title="Order")
    ax.set(xlabel="Voltage (mV)", ylabel=r"Current ($\mu$A)")
    fig.savefig("figures/fig01a.jpg", dpi=300)

上述代码生成的基础科学图表如下:

基础科学图表样式

如果你的环境中没有LaTeX,可使用no-latex参数关闭LaTeX渲染:

with plt.style.context(["science", "no-latex"]):
    # 绘图代码同上

无LaTeX环境下的图表效果:

无LaTeX科学图表样式

期刊专用样式

SciencePlots内置多种顶级期刊的专用样式,无需手动调整即可满足期刊格式要求。

IEEE期刊样式

应用IEEE(电气和电子工程师协会)期刊样式:

with plt.style.context(["science", "ieee"]):
    # 绘图代码同上

IEEE样式图表效果:

IEEE期刊样式

可结合标准色彩方案使用:

with plt.style.context(["science", "ieee", "std-colors"]):
    # 绘图代码同上

IEEE标准色彩样式效果:

IEEE标准色彩样式

Nature期刊样式

应用《自然》期刊样式:

with plt.style.context(["science", "nature"]):
    # 绘图代码同上

Nature样式图表效果:

Nature期刊样式

色彩主题方案

SciencePlots提供多种专业色彩主题,适应不同的数据展示需求。

明亮色彩主题

with plt.style.context(["science", "bright"]):
    # 绘图代码同上

明亮色彩主题效果:

明亮色彩主题

高对比度主题

适用于需要突出数据差异的场景:

with plt.style.context(["science", "high-contrast"]):
    # 绘图代码同上

高对比度主题效果:

高对比度主题

复古色彩主题

呈现经典科研图表风格:

with plt.style.context(["science", "retro"]):
    # 绘图代码同上

复古色彩主题效果:

复古色彩主题

更多色彩主题可在scienceplots/styles/color/目录中查看,包括vibrant(鲜艳)、muted(柔和)、light(浅色)等方案。

特殊场景样式

散点图专用样式

针对散点图优化的样式:

with plt.style.context(["science", "scatter"]):
    fig, ax = plt.subplots(figsize=(4, 4))
    ax.plot([-2, 2], [-2, 2], "k--")
    ax.fill_between(
        [-2, 2], [-2.2, 1.8], [-1.8, 2.2], color="dodgerblue", alpha=0.2, lw=0
    )
    for i in range(7):
        x1 = np.random.normal(0, 0.5, 10)
        y1 = x1 + np.random.normal(0, 0.2, 10)
        ax.plot(x1, y1, label=r"$^\#${}".format(i + 1))
    # 设置标签等

散点图样式效果:

散点图专用样式

深色背景样式

适用于演示和屏幕展示:

with plt.style.context(["dark_background", "science", "high-vis"]):
    # 绘图代码同上

深色背景样式效果:

深色背景样式

网格线样式

需要强调数据坐标位置时使用:

with plt.style.context(["science", "grid"]):
    # 绘图代码同上

网格线样式效果:

网格线样式

多语言支持

SciencePlots支持多种语言的字体配置,方便制作本地化图表。

中文支持

支持简体中文、繁体中文等多种中文变体:

# 简体中文
with plt.style.context(["science", "no-latex", "cjk-sc-font"]):
    fig, ax = plt.subplots()
    # 绘图代码同上
    ax.set(xlabel=r"电压 (mV)", ylabel=r"电流 ($\mu$A)")

简体中文字体效果:

简体中文字体样式

繁体中文配置:

with plt.style.context(["science", "no-latex", "cjk-tc-font"]):
    # 绘图代码同上
    ax.set(xlabel=r"電壓 (mV)", ylabel=r"電流 ($\mu$A)")

繁体中文字体效果:

繁体中文字体样式

其他语言支持

支持日语、韩语、俄语、土耳其语等多种语言:

# 俄语
with plt.style.context(["science", "russian-font"]):
    # 绘图代码同上
    ax.set(xlabel=r"Напряжение (mV)", ylabel=r"Сила тока ($\mu$A)")

俄语字体效果:

俄语字体样式

更多语言支持可在scienceplots/styles/languages/目录中查看。

实战案例:10个领域的应用

1. 物理学数据可视化

使用"high-vis"主题突出物理实验数据:

with plt.style.context(["science", "high-vis"]):
    # 物理实验数据绘图代码

物理学数据可视化效果:

物理学数据可视化

2. 笔记本环境应用

Jupyter Notebook环境优化样式:

with plt.style.context(["science", "notebook"]):
    # 笔记本环境绘图代码

笔记本环境图表效果:

笔记本环境图表样式

总结与扩展

SciencePlots提供了一套完整的科研图表解决方案,通过简单的样式切换即可生成符合顶级期刊要求的专业图表。项目的所有样式定义都保存在scienceplots/styles/目录中,高级用户可根据需求自定义样式文件。

完整示例代码可参考examples/plot-examples.py文件,包含本文介绍的所有样式和更多使用场景。

收藏本文,下次撰写论文时即可快速制作出专业级科研图表!关注获取更多科研可视化技巧。

【免费下载链接】SciencePlots garrettj403/SciencePlots: SciencePlots 是一个面向科研人员的Matplotlib样式库,旨在创建符合科学出版规范且专业美观的数据图表。该库包含了一系列预设的主题和参数配置,方便科研工作者高效制作高质量的可视化结果。 【免费下载链接】SciencePlots 项目地址: https://gitcode.com/gh_mirrors/sc/SciencePlots

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值