Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

数据设计:要求调用组件的人将数据转化成什么格式 #3

Open
tongshuangwu opened this issue Jan 27, 2020 · 7 comments
Labels

Comments

@tongshuangwu
Copy link
Collaborator

No description provided.

@tongshuangwu
Copy link
Collaborator Author

tongshuangwu commented Jan 27, 2020

初步想法

{
     // 输入数据arrary, 每个数据点是一个dict,但必须有一个coord的entry
    rawDataArr: {[key: string]: string|number, coord: [number, number]}[] 
    // 当hover的时候会显示的信息,给出需要的entry keys, 去rawdata拿这些信息
    tooltip: string[] 
    // 可以选择两种不同的图种,与视图设计联动
    type: "heatmap"|"scatter" 
    // 如果是点图,需要圆的大小的话,一样给出这个entry key,然后我们去rawData拿信息
    sizeKey?: string
    // 如果有时间轴 (特指疫情数据,其他还不知道有没有), 可以选择做timeline filtering或者线图。也一样是entry key
    timeKey?: string 
    // 与外部数据联动,点击地图上的点的时候可以做filtering。支持这个功能的话需要外部传进来一个如何filter的function。
    filterFunc: (d: {[key: string]: string|number, coord: [number, number]}[]) => {[key: string]: string|number, coord: [number, number]}[]
}

@shadowings-zy
Copy link
Collaborator

我的想法是,地图组件直接传进来一个newOption,然后这个newOption和我们内置的defaultOption合并一下,这样优先使用newOption中已规定的配置项,而newOption中未规定的配置项可以直接使用defaultOption的配置项。

@shadowings-zy
Copy link
Collaborator

就个人体验来说,echarts的API很易懂,五分钟就能上手。
我主要担心的是,像医院啊物资啊这类信息直接呈现到地图上的话,我们可能要定制label,而这部分都是在series配置项中的,这部分的自由度我认为是必须要有的。

@tongshuangwu
Copy link
Collaborator Author

嗯有道理,我觉得我们给调用的同学们暴露的option要控制在一个限度里,要不学不会了?2333
可能得复制一些echarts的document过来,介绍一些最重要的customization,要不还要跨过去学

@shadowings-zy
Copy link
Collaborator

那我觉得我们应该只暴露出title和series的部分项,其他的都做一下限定。
另外这个type:
type: "heatmap"|"scatter"

我感觉干脆做两种组件算了,这两种图所需要的参数还是有一些差距的。

@tongshuangwu
Copy link
Collaborator Author

那也可以~那可以把filtering组件(如果做的话)也单独隔离出来,在两种图的组件里去调用。

@shadowings-zy
Copy link
Collaborator

那也可以~那可以把filtering组件(如果做的话)也单独隔离出来,在两种图的组件里去调用。

filtering组件参照我在上一个issue里的回复哈,这个我觉得还是给调用者去做比较好,套用React Redux中展示组件和容器组件的概念来说,我们做的是一种“展示组件”。它对第三方数据没有任何依赖,只会如实地展示传进来的数据。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants