🎨 自定义图表模板
对于内置库中没有的图表模板,用户可以选择创建自定义图表模板。通过自定义模板并将其打包成模板包,你可以快速与其他研究人员分享。
你也可以选择将你的模板上传到我们的社区进行开源共享,或提供给开发者以收录到内置库中。我们衷心感谢任何参与者的贡献。
注意:图表模板社区平台目前处于规划阶段,稍后将上线。敬请期待。
创建新的图表模板
现在,你可以通过菜单栏选择 文件 -> 新建绘图模板 来自定义图表模板,如下所示:

点击【新建绘图模板】后,会出现一个用于创建新图表模板的弹窗:

对于新的自定义图表模板,主要有三个部分需要配置:
-
默认支持语言:你可以从右侧的选择框中选择内置的语言快捷选项。我们提供:简体中文、繁体中文、美式英语、日语、俄语、韩语、德语和西班牙语。你也可以手动输入语言代码进行自定义设置。具体的语言代码请参考:语言文化名称表
注意:在默认支持的语言中,输入的第一个语言将作为图表的默认语言。如果其他语言未翻译或遇到错误,系统将回退到此默认语言。
-
图表模板分类(层级):同样,我们提供内置的快捷分类结构。此设置影响你的模板在图表模板列表中的层级位置。
-
图表模板类型:目前支持两种类型:二维坐标系 和 三元图。
完成设置后,点击【确定】进入自定义绘图界面。接下来,我们将操作重心放在【编辑】功能栏上。点击【编辑】后,系统将显示二次确认对话框以编辑图表。确认后,你将进入编辑模式,在这里可以查看和使用编辑功能栏中的各种工具。

自定义图表模板
在编辑功能栏下,允许进行以下操作:

- 保存:保存图表模板。点击后,程序默认会根据当前绘图状态生成相应的缩略图。
- 另存为:将图表模板保存到不同的文件位置。
- 添加线条:启用后,进入“添加线条”模式。点击绘图区域的第一个点开始画线,点击第二个点完成线条对象。
- 添加文本:也称为注释。启用后,进入“添加文本”模式。点击绘图中的特定位置即可创建。默认文本为
Text。你可以通过图层面板中的属性部分修改位置或内容。 - 添加多边形:启用后,进入“添加多边形”模式。通过连续左键点击创建顶点来添加封闭多边形,右键点击闭合形状。
- 添加箭头:启用后,进入“添加箭头”模式。添加过程类似于创建线条。
- 添加函数:点击后,添加一个默认函数
sin(x),定义域范围为 [-10, 10]。你可以在属性面板中自定义公式。 - 撤销/重做:如果没有创建或删除绘图对象,这些功能将被禁用。默认情况下,历史记录中仅存储最后 10 次操作。
- 删除:删除绘图对象。首先选择对象(例如文本),然后点击删除将其移除。
添加线条
下面是添加线条的属性面板示例。通过属性面板,你可以精确调整线条的位置和其他属性。
每个坐标上方的定位图标按钮允许你重新调整和捕捉绘图区域中的坐标。一旦触发,在绘图区域左键点击将自动将坐标设置为点击的位置。

添加多边形
下面是添加多边形的属性面板示例。多边形对象有一个顶点列表。删除顶点时会出现确认弹窗。你可以按住 Ctrl 键并左键点击删除按钮来连续删除顶点。

添加文本
下面是添加文本的属性面板示例。对于文本对象,默认情况下,添加的文本将使用模板创建期间设置的第一种语言(默认语言)作为初始内容。
由于图表原生支持多语言,多语言文本内容的设置将在后面解释。

添加函数
下面是添加函数的属性面板示例。使用的默认函数是 sin(x)。你只需要输入与 $x$ 相关的公式。默认为 y = 公式内容。
对于函数对象,两个最重要的参数是:定义域 和 采样点。定义域定义了函数的显示范围。采样点控制函数绘制的精度,进而影响鼠标捕捉选择算法的准确性。默认值为 1000。

完善模板
完成基本图形绘制后,一个完整的模板还需要:
- 脚本设置:定义模板的输入数据和数据计算/绘图算法。
- 指南编写:图表说明文档。
- 多语言:如果模板设置为支持多语言,则必须填写相应部分。这包括图内文本和图表指南文档。
脚本设置
脚本设置是绘图的关键部分,因为它定义了自定义绘图逻辑。
需要两个参数:图表变量参数 和 计算脚本,如下所示:

脚本默认使用 JavaScript 编写。此处不涵盖基本的 JavaScript 语法。
对于 数据参数,这些代表需要从数据列表中读取哪些列的数据。输入规则使用英文逗号 , 作为分隔符。
默认情况下,第一个参数可以是 Group 变量。如果未添加,程序将在后台添加此变量。它的作用是在绘图期间区分不同的数据点类别,从而影响图例显示。其余参数应根据自定义底图的需要进行定义。
脚本内容涉及使用上述数据参数(预定义变量)编写计算算法,返回最终的 $[x, y]$ 值以将点投影到图表上。
例如,对于 TAS 图,参数应为:SiO2, Na2O, K2O。脚本内容将是:
// 使用变量 K2O + Na2O 计算
var result1 = K2O + Na2O;
// 使用 SiO2
var result2 = SiO2;
// 返回两个计算值。注意,对于默认的二维坐标图像,只有两个返回值。
// 第一个位置代表 X 返回值,第二个代表 Y 返回值。
[result2, result1]
或者,你可以将脚本编写如下:
var result = K2O + Na2O
[SiO2, result]
注意返回值的位置是固定的。在 [x, y] 中,第一个值始终是 X(底轴),第二个是 Y(左轴)。
对于三元图,最终返回格式为 [x, y, z],其中第一个值是 X(底轴),第二个是 Y(左轴),第三个是 Z(右轴)。
指南编写
编写指南是帮助其他研究人员快速了解底图基本信息和用法的必要步骤。
在如下所示的位置编写指南。我们提供简单的工具栏功能以满足常规文档需求。你也可以点击右侧的 Office Word 在 Word 中打开指南文件以获得更高级的格式和功能。
注意:仅在确认进入编辑模式后才允许编辑图表指南面板中的内容。
对于指南格式,我们建议遵循以下标准:
- 简介:解释底图的基本概念和功能,帮助用户快速理解。
- 数据格式:指定有效数据读取所需的输入数据格式和列标题。
- 参考文献:列出用于创建底图及其内容的参考文献。
- 贡献者:参与底图制作的人员姓名或昵称。甚至鼓励你包含你的个人网站。
多语言
我们建立了两种设置多语言的方法:
第一种是在绘图功能栏中使用 切换语言 选项。这允许你为第二语言设置特定内容。
第二种方法是使用我们的主页小部件;我们提供了一个多语言组件以方便模板本地化。
第三种方法是直接编辑图表模板的源文件。
这些方法仍在编写文档中...
某些功能可能尚未完全实现;我们正在努力改进它们以提供更好的用户体验。 ✨