请访问 Apache ECharts 官方网站:

https://echarts.org.cn
访问官网
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.cn/web/packages/ggrepel/vignettes/ggrepel.html
  1. 添加一个配置项,开启后只对标签进行防重叠处理
  2. 防重叠算法能够在性能、复杂度(代码量)和最终效果之间取得平衡
TypeScript
#7交错排列坐标轴标签以优化标签重叠问题目前,当标签过多时,Apache ECharts 的坐标轴只能隐藏部分重叠的标签,但在某些场景下,可以上下交错显示标签而不隐藏它们。因此,希望增加一个配置,允许用户智能地将重叠的标签上/下(或在 Y 轴的情况下左/右)移动。添加一个选项,开启后可交替显示坐标轴标签TypeScript;需要阅读算法论文并实现
#8关系图的循环引用支持关系图节点指向自身。详见:#12951
  1. 关系图节点可以指向自身
  2. 可通过参数配置来控制连接的位置
  3. 支持多条线指向自身
TypeScript