news 2026/8/27 15:17:18

CeTZ绘图库终极教程:从零开始掌握科学绘图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CeTZ绘图库终极教程:从零开始掌握科学绘图

CeTZ绘图库终极教程:从零开始掌握科学绘图

【免费下载链接】cetzCeTZ: ein Typst Zeichenpaket - A library for drawing stuff with Typst.项目地址: https://gitcode.com/gh_mirrors/ce/cetz

CeTZ(CeTZ, ein Typst Zeichenpaket)是一个专为Typst设计的绘图库,它借鉴了TikZ和Processing的设计理念,为科学绘图和学术可视化提供了强大而灵活的工具。无论你是需要绘制化学结构、数学图表,还是创建复杂的科学可视化,CeTZ都能帮助你轻松实现。

快速开始:你的第一个CeTZ绘图

想要立即开始使用CeTZ?只需要几行代码就能创建你的第一个绘图。首先在Typst文件中导入CeTZ库:

#import "@preview/cetz:0.4.2" #cetz.canvas({ import cetz.draw: * // 在这里添加你的绘图代码 })

这个简单的模板为你提供了完整的绘图环境。cetz.canvas函数负责处理所有的绘图逻辑和渲染过程,而import cetz.draw: *语句则引入了所有可用的绘图函数。

核心概念:理解坐标系统

CeTZ提供了多种坐标系统来满足不同的绘图需求。掌握这些坐标系统是成为CeTZ高手的关键一步。

笛卡尔坐标系统

最基础的坐标系统,使用(x, y)格式指定位置:

circle((0, 0)) // 在原点绘制圆形 line((0, 0), (2, 1)) // 从原点到(2,1)绘制直线

极坐标系统

当需要围绕中心点绘制图案时,极坐标系统非常有用:

line((0, 0), (angle: 30deg, radius: 1))

相对坐标系统

相对坐标让你能够基于前一个点的位置来定位新点,这在创建连续图案时特别方便:

circle((0, 0), stroke: blue) circle((rel: (1, 0)), stroke: red) // 红色圆形位于蓝色圆形右侧1单位

实战示例:创建树状结构图

让我们通过一个具体的例子来展示CeTZ的强大功能。树状结构在计算机科学和数学中非常常见,CeTZ能够轻松创建这样的可视化:

树状结构图的代码实现:

#cetz.canvas({ import cetz.draw: * // 绘制根节点 circle((0, 0), name: "root", radius: 0.2, fill: black) // 绘制子节点 circle((1, 1), name: "child1", radius: 0.2, fill: black) line("root", "child1") // 继续添加更多节点... })

高级功能:掌握图形变换

CeTZ提供了丰富的变换功能,包括旋转、缩放、平移等。这些变换让你能够创建动态和复杂的视觉效果:

// 旋转示例 group({ rotate(30deg) circle((0, 0), radius: 0.5) })

安装与配置

要在本地安装CeTZ包,你可以使用项目提供的安装脚本:

just install

安装完成后,你可以通过添加@local前缀来导入本地版本:

#import "@local/cetz:0.4.2"

实用技巧与最佳实践

1. 合理使用命名元素

为重要的图形元素命名,可以让你在后续的绘图中轻松引用它们的位置:

circle((0,0), name: "circle") content((name: "circle", anchor: 30deg), "30度位置")

2. 利用分组功能组织复杂图形

当创建复杂的多部分图形时,使用分组功能来保持代码的整洁:

group(name: "main", { circle((), name: "subcircle") })

3. 样式继承与复用

CeTZ支持样式继承,这意味着你可以定义一组样式规则,然后在整个绘图中复用它们。

项目生态与扩展

CeTZ拥有丰富的生态系统,包括多个专门用途的扩展库:

  • cetz-plot:专门用于绘制图表和数据可视化
  • cetz-venn:用于创建简单的二集或三集维恩图
  • 以及专门用于绘制有限自动机、交换图、序列图等的各种扩展

测试你的绘图技能

CeTZ项目包含大量的单元测试,这些测试不仅确保了库的稳定性,也为学习提供了绝佳的参考。你可以通过运行测试来验证你的理解:

just test

结语

CeTZ为Typst用户提供了一个功能强大且易于使用的绘图解决方案。无论你是需要创建学术论文中的图表,还是想要制作复杂的科学可视化,CeTZ都能满足你的需求。通过本教程的学习,你应该已经掌握了CeTZ的核心概念和基本用法。

现在就开始你的CeTZ绘图之旅吧!你会发现,创建专业的科学图表从未如此简单。

【免费下载链接】cetzCeTZ: ein Typst Zeichenpaket - A library for drawing stuff with Typst.项目地址: https://gitcode.com/gh_mirrors/ce/cetz

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 1:58:56

45.限界上下文进阶(下)-微服务拆分6个原则-避免拆太细或拆不开附拆分决策树

45 限界上下文进阶(下):微服务拆分的 6 个原则(避免 “拆太细” 或 “拆不开”) 你好,欢迎来到第 45 讲。 在上一讲,我们确立了微服务拆分的“第一性原理”:以限界上下文为边界。这个原则,为我们从“战略”上,指明了拆分的方向。 但是,在从战略走向战术的落地过程…

作者头像 李华
网站建设 2026/8/26 18:23:55

bRPC深度架构剖析:从核心机制到百万级实战优化

bRPC深度架构剖析:从核心机制到百万级实战优化 【免费下载链接】brpc 项目地址: https://gitcode.com/gh_mirrors/br/brpc bRPC框架作为百度开源的高性能RPC解决方案,在分布式通信领域展现出了卓越的性能表现。本文将从技术架构深度剖析、核心机…

作者头像 李华
网站建设 2026/8/25 6:57:13

本地部署文件共享软件 Jirafeau 并实现外网访问

Jirafeau 是一款允许一键文件共享的开源软件,上传文件方式简单,为其提供一个唯一的链接。能够发送任何大小的文件,在浏览器预览并提供密码保护。本文将详细的介绍如何利用 Docker 在本地部署 Jirafeau 并结合路由侠实现外网访问本地部署的 Ji…

作者头像 李华
网站建设 2026/8/27 6:05:07

UniVRM新手指南:5个简单步骤快速上手VRM模型

UniVRM新手指南:5个简单步骤快速上手VRM模型 【免费下载链接】UniVRM UniVRM is a gltf-based VRM format implementation for Unity. English is here https://vrm.dev/en/ . 日本語 はこちら https://vrm.dev/ 项目地址: https://gitcode.com/gh_mirrors/un/Uni…

作者头像 李华
网站建设 2026/8/26 17:12:34

5分钟攻克动画渲染难题:Lottie-Web全栈部署手册

5分钟攻克动画渲染难题:Lottie-Web全栈部署手册 【免费下载链接】lottie-web 项目地址: https://gitcode.com/gh_mirrors/lot/lottie-web 还在为跨平台动画适配头疼?这篇指南让你少走弯路 当你在After Effects中精心设计的动画需要在前端项目中…

作者头像 李华
网站建设 2026/8/26 21:59:44

ECM CCP

Cross-Component Prediction (CCP) Merge Mode Candidate Selection即:跨分量预测(色度基于亮度残差建模)的合并模式候选列表构建机制。一、背景:什么是 CCP? ✅ 跨分量预测(Cross-Component Prediction, C…

作者头像 李华