MakiePublication.jl 教程:创建高质量科研图表

MakiePublication.jl 教程:创建高质量科研图表

MakiePublication.jl A Julia package for producing publication quality figures based on Makie.jl. MakiePublication.jl 项目地址: https://gitcode.com/gh_mirrors/ma/MakiePublication.jl

简介

MakiePublication.jl 是一个基于 Makie.jl 的 Julia 包,专门用于创建符合学术出版物要求的高质量图表。本文将详细介绍如何使用该包来制作科研论文中常见的各种图表。

准备工作

首先需要导入必要的包:

using MakiePublication
using CairoMakie

选择 CairoMakie 是因为它支持输出矢量图形格式(如 PDF、EPS、SVG),这些格式是学术期刊通常要求的。

基础绘图

使用主题样式

MakiePublication 提供了预设的主题样式,可以轻松创建符合出版标准的图表。使用 with_theme 块可以应用主题:

with_theme(theme_web()) do
    lines(0..10, sin)
    lines!(0..10, cos)
    current_figure()
end

与默认的 Makie 主题相比,MakiePublication 的主题在以下几个方面进行了优化:

  • 更合适的图形宽高比
  • 优化的颜色方案
  • 更清晰的坐标轴和标签样式
  • 更专业的图例显示

复杂图表示例

下面是一个更复杂的示例,展示如何:

  1. 同时绘制拟合线和数据点
  2. 自定义图例位置和样式
  3. 调整图形边距
  4. 设置坐标轴范围
function myplot(; figure_padding=(2,6,1,6), legend_margin=((5,0,0,0)))
    x = 0:0.001:1.0
    xs = 0:0.08:1.0
    fig = Figure(figure_padding=figure_padding)
    ax = Axis(fig, xlabel=L"x", ylabel=L"f(x)")
    
    # 绘制多条曲线和数据点
    lines!(ax, x, x.^(5/8), label=L"x^{5/8}")
    scatter!(ax, xs, xs.^(5/8))
    # ... 更多曲线和数据点
    
    xlims!(0, 1)
    ylims!(0, 1)
    
    # 自定义图例
    axislegend(ax, position=:lt, margin=legend_margin)
    
    return fig
end

高级定制

颜色方案

MakiePublication 提供了15种内置颜色方案:

with_theme(myplot, theme_web(colors=MakiePublication.tol_bright()))

线型样式

可以自定义线型循环:

lc = Cycle([:color, :linestyle], covary=true)
with_theme(myplot, theme_web(linecycle=lc, linestyles=[nothing, :dash]))

标记样式

支持多种标记样式和空心标记:

# 空心标记示例
sc = Cycle([:color=>:markercolor, :strokecolor=>:color], covary=true)
with_theme(myplot, theme_web(scattercycle=sc, ishollowmarkers=[false, true]))

组合定制

可以组合多种定制选项:

with_theme(myplot,
    theme_web(
        colors=MakiePublication.tableau_10(),
        linestyles=[nothing, :dash, :dash],
        markers=[:circle, :diamond, :rtriangle],
        linecycle=lc,
        scattercycle=sc
    )
)

图形导出

矢量图形导出

推荐使用 SVG 格式用于网页展示:

savefig("plot.svg", fig)

高分辨率位图

可以调整分辨率:

save("plot.png", fig, px_per_unit=4)

总结

MakiePublication.jl 提供了一套完整的工具链,帮助科研人员快速创建符合学术出版标准的高质量图表。通过合理使用主题样式和各种定制选项,可以轻松制作出既美观又专业的科研图表。

对于更复杂的需求,建议参考包的文档和示例,探索更多高级功能。

MakiePublication.jl A Julia package for producing publication quality figures based on Makie.jl. MakiePublication.jl 项目地址: https://gitcode.com/gh_mirrors/ma/MakiePublication.jl

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宣茹或

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

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

抵扣说明:

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

余额充值