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

关于option更新方面的问题 #828

Closed
xuhuan opened this issue Oct 29, 2014 · 13 comments
Closed

关于option更新方面的问题 #828

xuhuan opened this issue Oct 29, 2014 · 13 comments

Comments

@xuhuan
Copy link

xuhuan commented Oct 29, 2014

问题已解决,配置少个[]。

echarts修改参数基本就只能靠一个setOption。
highcharts基本上各个参数都可以动态进行局部更新,感觉这种方式比较合理。
image

还有感觉文档有点混乱,demo太少,一页一堆的参数,大部分参数配置都没有实例。
条理性有点欠缺,建议能否出一份highcharts的api文档类似结构的文档?
highcharts的英文文档感觉看起来比echarts的中文文档轻松很多,哪怕我不怎么熟悉,
它的文档结构已经说明了很多。
image

@kener
Copy link
Contributor

kener commented Oct 29, 2014

setOption就是万能方法,只改你需要改的地方就行。

其实已经聊过很多次了,这次就多说点吧,以后就不再解析直接链接过来吧。这不是拍脑袋得出的设计,面向接口和面向数据的设计不同。

跟你一样,刚接触的人都问ECharts的详细API接口文档,就像你要求的一样都是习惯于面向接口的编程,但我们真没有,因为ECharts的设计是面向数据的,我们希望的是通过改变数据改变图表的行为,数据驱动图形的生成,甚至v1.0的时候连图表和组件都没有暴露,我们只有一个方法,setOption。

打个比方,要改变title:
面向接口的编程自然是要API, myChart.chart.title.setTitle(xxx);
面向数据的编程就编程 myChart.setOption({title:xxx});

这就是为啥我们没有更多的API文档的原因,因为setOption已经基本解决了所有的API需求,至少在我们这的各种项目里是这样的。

API-1,API-2,API-3.... vs setOption(1/2/3);
不论跟hc的优劣,我只是奇怪为啥很多人已经得记住了各种option的配置,还希望有各种的API去改这些配置而不直接改option,但其实上不管是通过API去改还是通过option去改效率都是一样的,至少在ECharts里是这样处理的,没必要担心性能问题。

这或许只是编程思路的转变就好,数据驱动,改变图表的关键是改变数据,就这样,我们不希望用户记住了option还要去记API。

至于你要的全局属性,文档早就有。文档导航的侧边栏是个风琴,展开第二个看看吧,谢谢关注。

doc

@kener kener closed this as completed Oct 29, 2014
@kener kener reopened this Oct 29, 2014
@xuhuan
Copy link
Author

xuhuan commented Oct 30, 2014

第二个的用起来也不是很好,一定要点击前面的 + - 来进行展开收缩,
而且部分点击了跳转的锚点有问题,不是跳到文档对应的api介绍,部分锚点点了还是没用的。
是不是因为文档不全?直接忽略掉部分的?
部分参数默认直接是null,没有实例。

@kener
Copy link
Contributor

kener commented Oct 30, 2014

默认全展开?600多个 -_-|||
table内的就没写锚点了,可以点上一级,到表格里看就好。

@xuhuan
Copy link
Author

xuhuan commented Oct 30, 2014

不是默认全展开,是和hc一样点击到参数上,参数还有子参数的自动把下面子参数项展开,默认全部隐藏的。
具体效果可以直接详见hc的api文档页。

现在不是table的问题,
bar->funnel 点过去全是图表。
island->markLine,EVENT点击没什么反应。

@kener
Copy link
Contributor

kener commented Oct 30, 2014

为什么要一样呢?

@xuhuan
Copy link
Author

xuhuan commented Oct 30, 2014

只是感觉hc的方式查阅起来比较方便。
并不是一定要一样。

@kener
Copy link
Contributor

kener commented Oct 30, 2014

可能习惯,也可能根本上就不同。
hc以图表类型为中心组织文档,我们以数据为中心组织。我们认为图表类型只是表现,同样的数据可以有不同的表现形式,合理的数据组织其实换图表只是type一个参数的变化而已,其他都应该是通用的,所谓的样式只是定义图形的点线面状态,数据组织是关键,就像其实折柱散点、和弦力导,甚至饼图和地图在我们这完全都可以一份数据就一个参数切换为不同的图表,动态类型切换就是这样做的,这是我们的思路,围绕着如何组织数据来描述整个option,我们希望用户只关心option就够了,图表类型可以有无限的可能,所以我们不会从图表出发去撰写文档。

@xfworld
Copy link

xfworld commented Jul 16, 2015

@kener 要是在API里面有这些介绍就好了,前期自己走了很多弯路 :) 在没看到这个解释之前,都还不明白为什么要这么用;

@kerwin612
Copy link
Member

@kener 问个问题,,,我现在有个需求,导出图片时给图片加上水印,,,,现在在导出操作里setOption时页面也会更新,正确的使用方式是怎样的呢???

@kener
Copy link
Contributor

kener commented Dec 15, 2016

没懂后半段,前半段最新发布的版本不就支持水印吗?

@kerwin612
Copy link
Member

kerwin612 commented Dec 15, 2016

@kener 恩恩。。。我上午折腾了半天算是完成这个需求(:页面上展示正常的图表,导出报表时加上自定义的水印。)了,,,我自己的想法是调用getDataURL时传的option能带graphic水印,可是貌似不能,于是就只有setOption附加graphic上去,但是一旦调用setOption页面就会更新,所以没法满足需求。今天上午想了个解决方案,就是在body后面加一个全屏div然后set其z-index=-1,然后导出时把加水印的option在这个底层的div上渲染,然后借助这个底层div的echarts对象调用其getDataURL,这样算是完美的满足了需求。

@kerwin612
Copy link
Member

kerwin612 commented Dec 15, 2016

there is my code. (^▽^)  https://github.com/ileler/echarts-ext-le

@tinybright
Copy link

tinybright commented Mar 30, 2019

如何修改 一个serie的属性呢?

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

No branches or pull requests

5 participants