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 的主题在以下几个方面进行了优化:
- 更合适的图形宽高比
- 优化的颜色方案
- 更清晰的坐标轴和标签样式
- 更专业的图例显示
复杂图表示例
下面是一个更复杂的示例,展示如何:
- 同时绘制拟合线和数据点
- 自定义图例位置和样式
- 调整图形边距
- 设置坐标轴范围
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 提供了一套完整的工具链,帮助科研人员快速创建符合学术出版标准的高质量图表。通过合理使用主题样式和各种定制选项,可以轻松制作出既美观又专业的科研图表。
对于更复杂的需求,建议参考包的文档和示例,探索更多高级功能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考