請訪問 Apache ECharts 官方網站:

https://echarts.apache.tw
訪問官網
x

開源軟體供應鏈點亮計劃——暑期2021

Apache EChartsTM

返回活動列表
Open Source Software Supply Chain Ignite Program - Summer 2021

活動說明

開源軟體供應鏈點亮計劃——暑期2021” 是由中科院軟體所和 openEuler 社群聯合舉辦的一項面向高校學生的暑期活動,旨在鼓勵在校學生積極參與開源軟體的開發維護,促進優秀開源軟體社群的蓬勃發展。

活動將為學生申請的專案提供資金支援,根據專案的難易程度,相應的稅前獎金分為高(12000元)、中(9000元)、低(6000元)三個等級(注:獎金額度均為稅前人民幣金額)。具體詳情請參考開源軟體供應鏈點亮計劃的官方說明。

社群需要為每個專案指定一位社群導師,在此過程中,你可以在導師的幫助下更好地瞭解 Apache ECharts 專案的開發。

活動報名

請前往活動網站報名或瞭解更多資訊。

專案列表

申請人可以從以下列表中完成一個專案。

ID名稱難度描述交付成果要求
#1關係圖(graph)系列支援節點拖拽在關係圖系列的佈局為 `layout: none` 的情況下,支援拖拽節點,詳見:#14510在關係圖系列的佈局為 `layout: none` 的情況下,支援拖拽節點TypeScript
#2關係圖可配置為不自動縮放在 `layout: none` 的情況下,開發者可以透過一個選項關閉對節點位置的調整,確保開發者給出的位置就是最終渲染的座標。詳見:#13516透過一個選項來實現關閉節點位置的調整TypeScript
#3Apache ECharts Issue HelperApache ECharts Issue Helper 是一個用於生成 GitHub issue 的表單工具,相比於 Markdown,使用表單能更好地保證提問者給出必要資訊。該專案目前功能有限,希望能夠增強 Markdown 相關的功能。
  1. 支援 Markdown 格式(包括程式碼)高亮
  2. 支援圖片上傳
  3. 支援 Markdown 結果預覽
TypeScript;Vue.js(可選)
#4支援第三方編輯器的示例網站Apache ECharts 官網的示例區目前使用的是自己的程式碼編輯器,社群希望能夠提供在各大第三方線上編輯器(StackBiz, JSFiddle, CodePen, CodeSandbox)中編輯示例的功能。
  1. 在 Apache ECharts 官網示例元件中新增“前往 CodeSandbox (StackBlitz, jsfiddle, CodePen) 編輯”按鈕
  2. 呼叫第三方線上編輯器的 API,在跳轉時傳入示例中使用的程式碼
JavaScript
#5主題河流圖的非對稱繪製Apache ECharts 的主題河流圖目前採用對稱的繪製方式(整體圖形沿 x 軸對稱),希望透過 wiggle 演算法實現非對稱的繪製方式,以增加河流圖的可看性。詳見:#14643在主題河流圖中,透過 wiggle 配置項,實現選擇河流圖繪製模式的功能TypeScript;對計算機圖形學有初步瞭解(需要閱讀演算法論文並實現)
#6擴充套件標籤的防重疊功能Apache ECharts 目前在餅圖等一些特定圖表上提供了標籤的防重疊佈局演算法。現在我們希望增加一個更通用的佈局演算法,透過迭代搜尋標籤可以放置的位置來尋找一個較好的位置,解決散點圖等圖表中資料較多時的標籤重疊問題。可以參考已有的論文和實現:1. An Empirical Study of Algorithms for Point-Feature Label Placement 2. https://github.com/tinker10/D3-Labeler 3. https://cran.r-project.org/web/packages/ggrepel/vignettes/ggrepel.html
  1. 新增一個配置項,開啟後只對標籤進行防重疊處理
  2. 防重疊演算法能夠在效能、複雜度(程式碼量)和最終效果之間取得平衡
TypeScript
#7交錯排列座標軸標籤以最佳化標籤重疊問題目前,當標籤過多時,Apache ECharts 的座標軸只能隱藏部分重疊的標籤,但在某些場景下,可以上下交錯顯示標籤而不隱藏它們。因此,希望增加一個配置,允許使用者智慧地將重疊的標籤上/下(或在 Y 軸的情況下左/右)移動。新增一個選項,開啟後可交替顯示座標軸標籤TypeScript;需要閱讀演算法論文並實現
#8關係圖的迴圈引用支援關係圖節點指向自身。詳見:#12951
  1. 關係圖節點可以指向自身
  2. 可透過引數配置來控制連線的位置
  3. 支援多條線指向自身
TypeScript