2 开发指南

2.1 总览

Hiplot致力于构建一个开放、易用的绘图工具分享平台,通过友好的拖拽生成组件,只需简单的几步即可将绘图代码转换为高可用的图形化工具,配合完善的代码执行框架,让所有Hiplot用户都能分享您的成果。

您可以在Hiplot网站分享的工具主要分为两种:

云工具,采用前端UI界面设置参数 + 后端程序执行计算代码(目前仅支持R语言,后续将逐步扩展)。

Shiny应用,使用R语言编写的Shiny应用,以独立网站的形式呈现。

不论上传哪种应用,您都必须先申请成为开发者,随后在个人中心-开发者工作台可以完成工具的编辑和上传,以下将重点介绍云工具的开发及上传。在此之前,您可以通过这个视频对Hiplot工具开发进行一些初步的认识。https://www.bilibili.com/video/BV1iD4y1v78T/

2.2 成为开发者

在上传任何工具之前,您必须先申请成为开发者。在个人中心-开发者工作台中即可完成开发者权限的申请。申请成为开发则必须绑定手机及微信号,并填写一些相关信息,其中的个人信息仅用于提现转账用途。您还可以上传一份pdf格式简历(非必须)介绍您的相关工作,便于我们审核申请及可能的后续合作。

2.3 云工具介绍

云工具由前端界面+后端计算代码组成。在工具执行过程中,用户通过工具前端界面上传数据文件或加载示例,并通过输入、下拉等控件设置执行参数,点击提交后,数据和参数会以文件及json的格式传递到后台,并调用Hiplot工具执行框架,执行框架会解析各类参数并调用计算代码,同时负责前端与后端的通信。在计算代码执行完毕后,执行框架会将输出结果、日志反馈给前端用以展示或下载。此时,R进程并不会立刻结束,若用户仅修改参数而非修改输入文件,则计算代码会在同一个R进程中重复执行以节约时间。

其中,前端UI界面由Hiplot网站自动生成,整个过程不需要编写任何代码,只需要设置参数并使用所见即所得的UI拖拽组件,即可设计您设想的工具样式。后端代码由执行框架及计算代码组成,执行框架由Hiplot提供,您能够在计算代码中方便地获取输入文件及参数,并向前端反馈输出文件,使您能够专注于计算代码的开发,节约精力。

接下来将分别介绍前端界面设计方法及后端代码规范,并会提供工具模板及本地调试方法,您可以先下载并尝试使用模板工具,然后再详细阅读本篇说明。

2.4 前端界面设计

云工具前端界面的主要组成部分如下图所示。

云工具详情页面

图2.1: 云工具详情页面

其中第一部分包括工具名称、使用指南、结果展示等内容;第二部分为数据输入,包括了示例、上传数据和数据预览三部分;第三部分为参数设置,包括1至3个参数折叠菜单,每个菜单中由若干控件负责参数设置。以上所有内容均在开发者工作台页面中完成设计,不需要编写代码。

前往个人中心-开发者工作台,点击新建工具-提交源代码按钮,进入前端界面设计页面。在该过程中,您需要输入工具的基本信息并设计②、③中所包含的用户界面,整个过程包括两步:1、信息填写;2、自定义参数,在每一步完成后都可点击下方的临时保存按钮保存进度。详细说明如下。

2.4.1 信息填写

在第一步信息填写中,需要完善如下内容:

工具名称:请输入中英文工具名称,其中英文名称只能输入英文、数字、下划线,多个单词请以下划线分隔。中文及英文工具名皆唯一,您可以通过添加下划线及后缀的形式避免与其他工具重复。

一句话简介:请输入中英文一句话简介(其中英文并非必填项,若空缺的话在使用英文显示时会显示中文简介),其内容会在工具列表页面显示,且能够被搜索工具检索。

上传封面:请上传封面图片,建议分辨率110*140,建议体积100kb以下。

分类设置:选择工具所在的一级分类,即左侧菜单栏中显示的分类。

子分类设置:选择工具所在的二级分类,即列表页最上方显示的分类。若不包含您需要的分类,可在页面右侧反馈意见。

标签选择:为工具添加标签,最多支持三个,用户可通过标签筛选工具。若不包含您需要的标签,可在页面右侧反馈意见。

编程语言:请选择您的工具所使用的编程语言,目前仅支持R语言。

输出结果类型:请选择您想要在工具详情页面展示的计算结果,目前支持图片(jpg、jpeg、gif及png)、表格(xlsx、xls及csv)、html文件及pdf文件展示,也可以不展示输出结果。同时,您需要上传一份对应格式的默认展示文件。对于这四种类型以外的结果文件,暂时无法展示,可提供给用户下载。

是否收费:工具收费与否。若收费,可定义免费试用次数及Hi币抵扣比例(使用工具的部分费用可于开发者工作台提现,而获得的Hi币可以提高开发者等级)。

使用指南:撰写中英文版本的使用指南(其中英文并非必填项,若空缺的话在使用英文显示时会显示中文指南),其内容可于工具详情页查看。不推荐使用过多大体积的图片,若想上传视频,推荐先上传到其他平台并嵌入到使用说明中,下图以bilibili为例,点击分享-嵌入代码,复制嵌入代码,在使用指南编辑器中点击视频-插入视频,粘贴刚才复制的代码并插入即可。

分享第三方视频

图2.2: 分享第三方视频

插入第三方视频

图2.3: 插入第三方视频

是否代部署:若对UI设计及代码规范感到棘手,可以于云市场-服务商城中购买我们的代部署服务。若选择这一选项,则您仅需上传您的计算代码,Hiplot团队会根据您填写的信息完成工具部署工作。在部署完成后,您可随时修改基本信息,只要不修改计算代码,不会重复收取部署费用。若需要代部署,请在工具包信息中详细介绍您的代码的用法,包括输入数据的格式、输出结果的格式及所需要的参数,方便我们进行代部署。

工具包信息:请简要介绍您所提交工具的作用、软件版本及重要依赖包版本等信息。

2.4.2 自定义参数

在第二步自定义参数中,需要制作工具详情页右侧栏的所有内容,包括数据输入及参数设置两部分。

数据文件及示例上传:该部分定义了工具的输入数据文件。Hiplot支持0至3个输入数据文件(通过右上角的回收站图标或下方的添加数据按钮增删),系统会将每个用户上传的数据文件的路径传递给您的计算代码(示例文件与正常上传的数据文件采用相同的处理方式),每个数据文件需要设置如下内容:

数据字段:传递数据文件路径时所使用的变量名,会在计算代码中用到

中文名称:工具详情页中该数据显示的中文标签,仅作显示用途

英文名称:工具详情页中该数据显示的英文标签,仅作显示用途

文件类型:请选择支持上传的文件后缀(若不包含您需要的文件,可在页面右侧反馈意见),仅用于筛选用户上传文件后缀

上传示例:请上传一个支持格式的示例文件,用于演示工具效果,推荐使用体积较小的数据,方便用户查看。该示例文件会在用户点击“示例”按钮时载入,其路径会按照普通数据的方式传递。

注意:工具的使用次数是按输入文件计算的,在不改变输入文件的情况下,不论如何修改参数,都当作同一次使用对待,不会多次计费,并且使用示例也不会计费。

自定义参数:该部分定义了工具的计算参数设置及UI。为保持界面的简洁美观,Hiplot会将参数按照功能分类,每个参数集合显示在一个折叠菜单中。Hiplot支持1至3个折叠参数菜单(通过右上角的回收站图标或下方的添加数据按钮增删),系统并会将所有参数传递给您的计算代码,每个参数集合包含以下部分:

中文标签:工具详情页中该折叠菜单显示的中文标签,仅作显示用途

英文标签:工具详情页中该折叠菜单显示的英文标签,仅作显示用途

字段名:传递参数集合时所使用的变量名,会在计算代码中用到

编辑:使用可视化UI界面设计工具编辑参数输入页面,详细使用说明见下一节。

2.4.3 UI设计工具

在自定义参数界面,每个参数集合会有一个编辑按钮,点击后就会出现UI设计工具,可以对每个参数集合的UI进行单独设计,如下图所示。

UI设计工具介绍

图2.4: UI设计工具介绍

该页面包含四个主要部分,其中①为控件选择区域;②为功能按钮区域;③为详细设置区域;④为控件操作区域。在使用过程中,首先从①选择您需要的控件,在④中可以预览并对其位置进行拖动,并在③中设置控件的属性,同时②中提供了多种丰富的功能。以下将对这四个部分进行详细介绍。

首先是控件选择区域,其中包含了基础控件、其他组件及布局控件。以下是各控件对应的参数种类:输入框、下拉选择器、单选框对应了字符串;数字输入框、滑动输入条对应数值;多选框对应字符串数组;开关对应布尔变量(true或false);颜色选择器对应以#开头的六位数字字符串;文字、HTML和布局控件不对应参数,用于美化界面及提供额外功能。以上控件可根据您需要的参数及交互类型进行自由选取。

其次是功能按钮区域,其中从左至右分别为:预览,按照实际界面宽度预览UI效果,并且可以修改其内容并获取修改后的参数json文件;导入,根据导入的UI json文件生成界面,可以和下面的生成json按钮配合使用;生成json,根据当前的UI设定生成UI json文件,可以手动修改或用于导入;清空,清空页面内内容;撤销及重做。同时提供了三个UI模板可供参考。

再次是详细设置区域,包含表单属性设置和控件属性设置。表单属性设置可设置表单整体属性,如布局、标签宽度等。控件属性设置因控件而异,具体内容可自行尝试。其中通用内容包括标签(界面显示文字)、数据字段(该参数传递时所用变量名,会在代码编写中用到)、默认值、帮助信息等。每个控件必须要设置标签、数据字段、默认值三项内容。

最后是控件操作区域,在该部分可对控件进行拖拽等操作,以可视化和所见即所得的方式设计UI布局。每个控件可以进行复制和删除操作,搭配栅格布局控件能够设计出简洁美观使用的UI界面。

以上设计完成后,前端界面设计正式完成,可进入后端代码的修改步骤。除此以外,前端界面设计过程中尚有部分可选功能可供使用,将在下面介绍。

2.4.4 其他功能

对设置了试用次数的收费工具,若只想为试用用户提供部分功能而非全部功能,可为试用用户设计专门的参数UI文件。在满足条件时,自定义参数最下方会出现试用版参数文件上传,使用方法如下:

首先正常设计数据文件及自定义参数部分,设计完成后,点击下一步按钮,此时弹出下图所示的对话框。

设计试用界面

图2.5: 设计试用界面

若不需要此功能,则可以直接点击继续。若想设计试用UI,请先下载试用文件,此时会下载一个与正式UI文件相同的json文件,您可在此基础上修改,修改后将其重命名为ui_trial.json并在上传试用文件中上传该文件即可。以下将介绍该json文件结构及推荐修改方式。

{
  "data": {
    "data1": {
      "type": "hiplot-textarea",
      "label": {
        "US": "test",
        "CN": "测试"
      },
      "required": true,
      "fileType": [
        "txt",
        "csv"
      ]
    }
  },
  "param": {
    "var": {
      "label": {
        "US": "test",
        "CN": "测试"
      },
      "ui": {
        "list": [
          {
            "type": "number",
            "label": "数字输入框",
            "options": {
              "width": "100%",
              "defaultValue": 50,
              "min": null,
              "max": null,
              "precision": null,
              "step": 1,
              "hidden": false,
              "disabled": false,
              "placeholder": "请输入"
            },
            "model": "number",
            "key": "number_1652841157303",
            "help": "",
            "rules": [
              {
                "required": false,
                "message": "必填项"
              }
            ]
          }
        ],
        "config": {
          "layout": "horizontal",
          "labelCol": {
            "xs": 4,
            "sm": 4,
            "md": 4,
            "lg": 4,
            "xl": 4,
            "xxl": 4
          },
          "labelWidth": 100,
          "labelLayout": "flex",
          "wrapperCol": {
            "xs": 18,
            "sm": 18,
            "md": 18,
            "lg": 18,
            "xl": 18,
            "xxl": 18
          },
          "hideRequiredMark": false,
          "customStyle": ""
        }
      }
    }
  }
}

UI json文件包含data及param两部分。data中可能包含0至3个数据输入,其字段名为自主设置的数据字段,内容中的label是自主设置的中英文标签,fileType为自主设置的允许文件后缀,其余内容不需要修改。param中包含1至3个参数集合,其字段名为自主设置的字段名,内容中的label为自主设置的中英文标签,ui为UI编辑器输出的json文件,可直接替换为UI编辑器中导出的json文件,以下详细介绍单个UI界面的json格式。

UI编辑器中导出的json主要包含两部分,list和config。list为一个数组,每个控件对应其中一个元素,其中type对应控件类型、model对应数据字段、label对应标签,其余内容均对应控件属性中的设置。比较特殊的是key,是编辑器自带的,不需要修改,不影响使用。

推荐的修改方法:若您想针对试用用户设计特殊的参数,Hiplot推荐您不要增删控件的种类,避免工具运行出现问题,而是将关键参数设置为禁用状态,并设置适用于所有清空的默认值。在这种情况下,试用用户无法修改特定控件内容,只能使用默认参数。修改方法为:在list数组中想要设置禁用控件的options中将disable设置为true,如下所示。

{
  "list": [
    {
      "type": "number",
      "label": "数字输入框",
      "options": {
        "width": "100%",
        "defaultValue": 50,
        "min": null,
        "max": null,
        "precision": null,
        "step": 1,
        "hidden": false,
        "disabled": true,
        "placeholder": "请输入"
      },
      "model": "number",
      "key": "number_1652841157303",
      "help": "",
      "rules": [
        {
          "required": false,
          "message": "必填项"
        }
      ]
    }
  ],
  "config": {
    …
  }
}

2.5 后端代码规范

在新建工具的最后一步-上传代码包中,您需要将您的计算代码打包为zip格式并上传。在完成提交审核的最后一步之前,您需要对代码进行修改以符合Hiplot规范,不要担心,Hiplot同时提供了本地测试环境供您测试,使用方法将在本节最后进行介绍。

Hiplot提供的代码执行框架实现了绝大部分的参数解析、通信、控制功能,能够让开发者尽可能专注于数据计算和分析,然而,为适配Hiplot框架,您仍然要对计算代码进行最小限度的修改和规范。接下来将介绍后端代码修改方法,并在最后提供一个参考和调试的模板。

2.5.1 最小实现方法

Hiplot的代码执行框架提供了丰富的功能,但是若您只想尽快上架工具、熟悉系统的使用,您可参考该部分最小实现方法,这里只提供了使工具能够正常运行的最小限度修改。

1、在自定义参数部分定义的数据文件,会以普通文件形式上传,并可在工具代码中获取其路径。请使用conf$data$[您定义的数据文件字段名]来获取文件的路径,如下图中数据文件可通过conf$data$ExpMatrix获取

数据设置界面

图2.6: 数据设置界面

随后您可使用任意函数读取该文件,如

read.table(file = conf$data$ExpMatrix)

2、在自定义参数部分定义的输入参数,请使用conf$param$[您定义的参数折叠菜单字段名]$[在UI编辑界面定义的控件字段名]来获取,如下图中参数可通过conf$param$general$title获取,您将得到用户在该控件中输入的字符串

折叠菜单设置界面

图2.7: 折叠菜单设置界面

参数设置界面

图2.8: 参数设置界面

3、任何您想展示或提供给用户下载的输出文件,必须使用get_file_path(filename)函数获取输出文件路径,这样做有两个目的:1、统一输出目录;2、将所有输出文件反馈给前端。其中filename是文件名字符串,可随意指定,该函数返回一个输出路径(包含文件名)字符串,您可使用任何方式输出该文件,如

save(list = c("data"), file = get_file_path("test.Rdata"))
save_plot(p, filename = get_file_path("nonsense.pdf"))
file_path <- get_file_path("data.txt")
write.table(data, file = file_path, sep = "\t")

请注意,使用了get_file_path函数后,运行完成时必须输出对应文件,否则工具将报错。若有无关紧要的中间过程文件,可自行随意处理,不需要做删除操作。

4、您仅需上传您的计算代码及其他依赖文件(一并压缩为zip格式),您的代码入口必须命名为plot.R。若您需要引用其他文件,请与plot.R一并压缩上传,并在引用时在文件名前增加content文件夹,如

source("content/dependencies.R")

2.5.2 可选高级功能

请确保您阅读了最小实现方法后再来阅读本节内容。在最小实现中,您已经能够构建一个可执行的工具,但本节将介绍Hiplot代码执行框架所提供的全部功能,为您充分优化您的工具,提升用户体验,释放Hiplot的全部潜力。

计算过程加速

Hiplot工具在执行完成后一段时间内不会结束R进程,只要用户不修改输入文件而只修改参数,则工具会持续在同一R进程中执行,这使得我们可以从两方面对工具执行速度进行优化。

1、 提高初始化速度

工具的初始化步骤包括R包加载、数据读取及预处理等内容。由于在一次计算中输入数据不会进行修改,因此这些步骤能够只执行一次,Hiplot提供了conf$taskType字段用于判断工具是否为初次运行,在初次运行时,该字段值为origin,通过判断该值可选择性跳过读取数据、预处理及初始化等步骤。注意:若想使用该特性,务必不能在分析绘图过程中修改读取到的原始数据,若要修改,推荐先创建一个副本并在副本上修改。

2、 避免重复计算

很多时候一个工具包括了数据分析及绘图输出两个步骤,在只修改了绘图输出参数的情况下,可以不必重复执行数据分析步骤,从而提升运行速度。为实现此功能,您可以将分析参数和绘图参数设置在不同的参数集合中,通过判断某一个或几个集合是否发生变化,来跳过某些比较耗时的分析步骤。示例代码如下:

if (!(exists("conf_param_pre") && all(conf_param_pre == unlist(c(conf$param$dataArg, conf$param$extra))))) {
  conf_param_pre <- unlist(c(conf$param$dataArg, conf$param$extra))
  # 您需要跳过的分析步骤
}

实时状态反馈及日志

目前在R语言中可通过status_report函数向网站反馈工具实时运行状态,目前共有以下四种状态可选:

status_report("reading", socket)
status_report("analysing", socket)
status_report("plotting", socket)
status_report("outputting", socket)

这四种状态反馈下,前台会自动显示对应的中英文标签。若您想自定义前台显示的内容,如显示计算进度百分比一类的内容,请使用如下函数发送json字符串:

writeLines('{"msg_type":"status_report","status":"initializing","US":"initializing","CN":"正在初始化"}',socket)

您需要修改的是json字符串中status、US、CN三部分内容,其中status必须是除了initializing、idle及上述四种状态以外的任意内容,CN及US为中英文状态下要显示的文字内容。

注意:自定义显示在本地测试时可能会存在问题,请在本地测试时删除该部分。status_report函数的四种预置状态可以在本地测试时使用。

此外,您可随意向日志中添加内容,日志将在运行结束后向用户展示。您可以使用print等直接向控制台输出内容的函数,其输出内容都会保存在日志中。

特殊输出文件

一般情况下,您只需要使用get_file_path获取输出文件路径并注册该输出文件。但在某些情况下,这可能不是特别好用,如您引用的R包以固定名称及路径输出文件。此时您可以自行处理这些输出文件,主要包含以下两步:

1、将输出文件放在[当前工作目录/output/]文件夹下

2、注册该输出文件,您需要在outputFileList变量后追加该文件名,不需要包含output文件夹,只需要文件名,注意这里应当用<<-进行赋值。示例如下:

outputFileList <<- append(outputFileList, "output.pdf")

多输出文件分批输出

在某些情况下,用于展示的输出文件生成速度较快,但是您的某些仅用于下载的输出结果生成较慢(例如某绘图工具,界面上展示的是pdf绘图结果,但是还要生成html及docx格式报告供用户下载),此时可应用分批输出功能。您只需要在用于展示的结果文件(对应例子中的pdf文件)生成完毕后运行如下R语句:

check_results(outputFileList, "first")

即可实现该功能。网站前端会直接展示您的输出结果,但是下载按钮会暂时禁用,并在其他运算全部进行完毕后将所有结果提供给用户下载。

2.5.3 测试环境及模板使用方法

Hiplot为您提供了本地测试仿真运行环境及工具模板用于参考,您可以在开发者工作台-新建工具-上传工具包页面下方的下载测试环境按钮下载本地测试环境。

为测试您自己的工具,需要做如下准备:

1、在新建工具-上传工具包页面下方的下载配置文件按钮下载json文件,并下载测试环境及解压;

2、将工具包(包含plot.R文件)放在测试环境中content文件夹下

3、将下载到的配置文件重命名为config.json,放在content文件夹下,并检查其中的数据文件名及参数是否正确

4、将与config.json中文件名对应的示例数据放到data文件夹下

5、在最外层目录使用命令行运行Rscript .\run.R进行测试,或在Rstudio中设置工作目录到测试环境目录,运行run.R测试

6、可以在output中看到日志和输出文件,日志的最后应当有输出文件列表,即表明运行成功

7、此时您就可以将content文件夹内所有内容打包为zip文件并上传

2.5.4 保留变量及函数名

在代码编写中应尽量避开以下名称作为变量或函数,包括:

socket
opt
taskID
outputDir
outputFileDir
inputFileList
outputFileList
conf
publicConf
taskStartTime
outputByStep
init_hiplot
init_hiplot_standalone
init_hiplot_connected
hiplot_command_handler
run_hiplot
eval_parse_codes
check_results
get_file_path
get_filename
status_report
get_suffix

2.6 Shiny工具提交

Shiny工具的提交由于其封装特性则相对简单很多,只需要完成信息填写即可。需要注意的是如果您完成了Shiny工具的编写,但没有服务器,可选择Hiplot的代部署服务完成部署。详细情况可参考对应页面的介绍及帮助信息。

2.7 开发者经验值

关于经验值等级系统

为体现入驻开发者的活跃程度、受欢迎程度及专业程度,Hiplot平台对所有开发者实行经验值积累及等级成长系统,开发者等级根据开发者获取的经验值进行评定,现对经验值获取及等级成长系统的规则进行限定及公开。开发者可以在“开发者工作台”中查询开发者等级。经验值目前暂不显示,后续版本更新中将会显示开发者经验值及升级进度。

获取经验值

开发者通过如下4种方式获取经验值,包括Hi币及开发上线工具的使用情况,其中关于Hi币的获取规则,请参见Hiplot平台Hi币获取规则

经验值获取规则

图2.9: 经验值获取规则

其中,关于工具上线审核通过后,如开发者下架或者因违反平台管理规定导致删除的工具,经验值不予扣除。工具被使用过程中运行失败,不扣除经验值。

经验值对应的开发者等级

开发者等级根据经验值判定,随着经验值逐渐积累,开发者等级也逐渐升高。开发者等级与经验值的对应关系如下表所示:

开发者等级设置

图2.10: 开发者等级设置

免责声明

发生下列情况时,Hiplot平台免于承担任何法律责任:

1.由于用户将密码告知他人导致的用户损失;

2.因用户个人故意或重大过失,或本协议之外的第三方所造成的用户损失;

3.由不可抗力及不可预见的情势导致的各种情况和纠纷;不可抗力和不可预见情势包括但不限于:黑客攻击、政府管制、病毒侵袭。

2.8 Python工具开发

Python代码修改指南

Hiplot的内置的程序框架已经完成参数解析、通信等工作,您仅需专注于计算代码的编写。在上传工具代码前,您可能要注意并修改以下几点:

1、数据文件的路径,请使用conf.data.[您定义的数据文件字段名]来获取,如conf.data.ExpMatrix,您可使用任意函数读取该文件

2、用户输入的参数,请使用conf.param.[您定义的参数折叠菜单字段名].[在编辑界面定义的控件字段名]来获取,如conf.param.general.title,获取到的参数与您在UI编辑预览界面看到的一致

3、任何您想展示或提供给用户下载的输出文件,必须使用get_file_path(filename)函数获取输出文件路径,其中filename是文件名字符串,可随意指定,该函数返回一个输出路径(包含文件名)字符串,您可使用任何方式输出该文件。请注意,使用了get_file_path函数后则运行完成后必须输出对应文件。对于无关紧要的中间过程文件,可自行随意处理,不需要做删除操作。

4、您仅需上传您的计算代码及其他依赖文件(压缩为zip格式),您的计算代码必须命名为plot.py

5、若您需要引用其他文件,请与plot.py一并压缩上传,并在使用时通过相对目录”./content/[您的文件]“来使用,如”./content/dependencies.py”

6、请务必填写您需要的依赖或运行环境信息,以便工具成功部署

其他可选功能:

按照以上五点规范即可成功运行工具,此外,为提升用户体验,Hiplot提供了如下可选功能:

1、提供了conf.taskType字段用于判断工具是否为初次运行,初次运行时该字段值为origin,通过判断该值可选择性跳过读取数据及初始化等步骤;此外,也可以将计算参数设置在单独的参数集合里,通过比较参数变化程度来跳过某些耗时的计算步骤。

2、通过status_report函数可向网站反馈工具运行状态,目前共有以下四种状态

status_report(“reading”, conn) status_report(“analysing”, conn) status_report(“plotting”, conn) status_report(“outputting”, conn)

3、若需要在日志中输出内容,可以使用logging.info函数

4、其余事项可参考R语言部分的指南

调试方法:

Hiplot为您提供了仿真运行环境用于调试计算代码。首先请下载配置文件及测试环境并解压,然后按照如下步骤进行本地测试,一切正常后方可上传代码。

1、将工具包放在测试环境中content文件夹下

2、将下载到的配置文件重命名为config.json,放在content文件夹下,并检查其中的数据文件名及参数是否正确

3、将与配置文件中文件名对应的示例数据放到data文件夹下

4、在最外层目录使用命令行运行python ..py进行测试,或使用其他软件测试

5、可以在output文件夹中看到日志和输出文件,日志的最后应当有输出文件列表