跳到主要內容
版本:v0.6.0

🎨 自定義圖解模板

對於一些內置圖解模板庫沒有提供的圖解模板,用戶可以選擇自定義圖解模板。通過自定義圖解模板,最終打包成圖解模板包,可以快捷分享給其他科研人員使用。

也可以選擇上傳到我們的社區以開源共享,或者提供給開發者以添加到內置模板庫。我們非常感謝任何參與貢獻的任何人員。

需要注意的是,目前圖解模板社區平台仍在規劃中,將會在其後才會部署上線,敬請期待。

新建圖解模板

現在我們可以通過通過菜單欄的 文件-> 新建繪圖模板 進行圖解模板自定義,如下圖所示:

plot_new_template_1

在點擊【新建繪圖模板】後,會出現新建圖解模板彈窗:

plot_new_template_2

對於一個新建的自定義圖解模板,主要是設置三個部分:

  1. 圖解模板默認支持的語言:你可以通過右側的選擇框中選擇內置的語言快捷選項,我們提供了:簡體中文,繁體中文,美式英文,日語,俄語,韓語,德語和西班牙語。當然你也可以選擇手動輸入語言代碼來實現語言設定。具體的語言代碼參考:Table of Language Culture Names

    需要注意的是:在默認支持的語言中,第一個輸入的語言將會是該圖解的默認語言,當其他語言沒有被翻譯或者出現錯誤的時候,會回退到默認語言狀態下。

  2. 圖解模板的分類(層級)結構:同樣的,我們也提供了一些內置的快捷分類結構。這個選項將會影響你的圖解模板在圖解模板列表中的層級結構。

  3. 圖解模板的類型:目前支持兩種類型:二維坐標系和三元圖。

在完成設置後,點擊【確定】,即可進入自定義繪圖界面。接下來,我們主要將操作集中在【編輯】功能欄中。點擊【編輯】後,系統會彈出編輯圖解的二次確認對話框。確認無誤後,即可進入編輯模式,查看並使用編輯功能欄中的各項工具。

plot_new_template_edit

自定義圖解模板

在編輯功能欄下,我們允許

plot_new_template_edittoobar

  • 保存:保存圖解模板。點擊圖解模板後,程序默認會根據當前繪圖狀態,生成對應的圖解縮略圖。
  • 另存為:將圖解模板另存為別的文件位置。
  • 添加線條:啟用後,進入添加線條模式。通過在繪圖區域,點擊第一個點創建線條的第一個點,接著創建第二個點最終形成線條對象。
  • 添加文本:註釋也成為文本,啟用後,進入添加文本模式。點擊繪圖中指定的位置即可創建。默認的註釋文本為Text,修改文本位置或者內容,也是從圖層面板的屬性位置進行修改。
  • 添加多邊形:啟用後,進入添加多邊形模式。添加一個閉合的多邊形,通過左鍵連續點擊創建點,右鍵閉合圖形。
  • 添加箭頭:啟用後,進入添加箭頭模式。添加規則類似於線條。
  • 添加函數:點擊後,默認直接添加一個默認的函數:sin(x),定義域範圍是 [-10,10]。你可以在屬性面板中對應的屬性自定義自己的函數。
  • 撤銷/重做:如果在沒有創建繪圖對象或刪除繪圖對象,是不可點擊的。默認只存儲 10 個操作歷史。
  • 刪除:刪除繪圖對象。首先選中繪圖對象(例如:文本),然後點擊刪除即可觸發刪除繪圖對象。

添加線條

如下是一個添加線條的屬性面板示例,通過屬性面板可以對線條的位置和其他屬性進行精細化的調整。

每個坐標上方的的定位圖標按鈕,觸發後,可以在繪圖區域重新調整捕獲坐標。即在繪圖區域要獲取坐標的位置,左鍵點擊後會自動設置位置為點擊的位置。

plot_line_attribute

添加多邊形

如下是一個添加多邊形的屬性面板示例。對於多邊形對象擁有一個頂點列表。當刪除多邊形頂點的時候會出現彈窗二次確認刪除。你可以通過按住 ctrl 按鍵的情況下,左鍵點擊刪除按鈕,即可連續刪除頂點。

plot_polygon_attribute

添加文本

如下是一個添加文本屬性面板的示例。對於文本對象,默認情況下,添加的文本會使用新建圖解模板的時候,設定的第一個語言,即默認語言作為默認的內容。

由於圖解是原生支持多語言的,對於文本的多語言內容設置將會在其後說明。

plot_text_attribute

添加函數

如下是一個添加函數屬性面板的示例。添加函數默認使用 sin(x) 作為示例。我們只需要輸入關於 x 相關的公式即可。默認是y=Formula的內容

對於一個函數對象,最重要的兩個參數就是:定義域採樣點。定義域將會規定函數的顯示範圍。採樣點將會控制函數對象繪製的精細程度。進而影響鼠標吸附選中算法的精細程度。默認值是 1000

plot_func_attribute

完整模板

在完成基礎的圖解圖形繪製後,一個完整的模板還需要具備:

  1. 腳本設置:規定圖解模板的輸入數據,以及數據計算投圖算法
  2. 指南編寫:圖解的圖解指南文檔
  3. 多語言:圖解如果設定支持的語言是多語言,則需要補充多語言的部分。多語言包括圖解內的文本多語言和圖解指南文檔的多語言。

腳本設置

腳本設置是投圖中重要的環節,他規定了自定義的投圖邏輯是什麼。

一共需要兩個參數:圖解變量參數計算腳本。如下圖所示:

plot_scripts

腳本默認使用 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來打開圖解指南文件進行編寫,以實現更多支持的格式和功能。

需要注意的是:只有在確認進入編輯模式後,才會被允許在圖解指南面板中編輯內容。

plot_guid

對於指南的編寫格式,我們建議以如下的格式為標準:

  • 簡介:負責介紹底圖的一些基礎概念和作用。幫助用戶快速了解底圖。
  • 數據格式:負責規定輸入的數據格式是什麼,即輸入的數據列標題應該是什麼才能合法讀取對應的數據。
  • 參考文獻:關於編寫這個底圖及其相關內容所參考的內容。
  • 貢獻者:參與該底圖的相關人員名稱或者暱稱,這取決於你的興趣,甚至可以放上你的個人網站,這完全是被鼓勵的。

多語言

多語言的設置,我們設定了兩種方式:

第一種是直接通過繪圖功能欄,裡面的切換語言,實現語言切換。這樣在第二種語言下,可以設定各自的多語言內容。

plot_switch_language

第二種方法是:利用我們的主頁小組件,我們提供了多語言組件以方便模板的多語言話。

第三種方法是:直接編輯圖解模板的源文件。

這些方法有待編寫.....

信息

Some functions may not yet be fully implemented; we are working to improve them to provide a better user experience. ✨